文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>get hostname and ip

get hostname and ip

时间:2010-08-31  来源:dyhfine

Windows 主机名IP地址:  

#!C:\\python26\\python.exe

# -*- coding:UTF-8 -*-

import socket

# 主机名
name = socket.gethostname()
print name

# 主机名(带域的后缀)
myfullname = socket.getfqdn(socket.gethostname())
print myfullname

# IP 地址
ip_addr = socket.gethostbyname(name)
print ip_addr

# 主机名和IP地址(多网卡)
socket.gethostbyname_ex(socket.gethostname())


 

Linux 主机名IP地址:

#!C:\\python26\\python.exe
# -*- coding:UTF-8 -*-

import socket
import fcntl
import struct

def get_ip_address(ifname):
    s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
    return socket.inet_ntoa(fcntl.ioctl(
        s.fileno(),
        0x8915,
        struct.pack('256s', ifname[:15])
    )[20:24])

print "LoopBack Addr: " + get_ip_address('lo')
print "My IP Address: " + get_ip_address('eth0')


    Windows 用命令过滤网卡信息:  

#!C:\\python26\\python.exe
# -*- coding:gbk -*-
import os,sys
import socket

def GetInfo(adp):

    ''' [AdapterName, MacAddr, IPAddr, NetMask, Gateway] '''

    NAME_INFO=[];IP_INFO=[];MAC_INFO=[];MSK_INFO=[];GW_INFO=[]
    dict_ip={};dict_mac={};dict_msk={};dict_gw={}
    cmd = "ipconfig /all"
    txt = os.popen(cmd).readlines()
    for line in txt:
        if 'Ethernet adapter' in line:
            NAME_INFO.append(line.split('adapter')[1].split(':')[0].strip())
        if 'Physical Address' in line:
            MAC_INFO.append(line.split(':')[1].strip())
        if 'IP Address' in line:
            IP_INFO.append(line.split(':')[1].strip())
        if 'Subnet Mask' in line:
            MSK_INFO.append(line.split(':')[1].strip())
        if 'Default Gateway' in line:
            GW_INFO.append(line.split(':')[1].strip())
            
    for i in range(0,len(NAME_INFO)):
        dict_ip[NAME_INFO[i]] = IP_INFO[i]
        dict_mac[NAME_INFO[i]] = MAC_INFO[i]
        dict_msk[NAME_INFO[i]] = MSK_INFO[i]
        dict_gw[NAME_INFO[i]] = GW_INFO[i]

    if adp not in dict_ip.keys():
        print 'Error: No adapter name "%s" in this computer!' % (adp)
        print 'You can select in: %s' % (NAME_INFO)
        sys.exit()
    else:
        return [adp,dict_mac[adp],dict_ip[adp],dict_msk[adp],dict_gw[adp]]
    

if __name__ == '__main__':
    NetWork_Adapter = '本地连接'
    HOST_INFO = GetInfo(NetWork_Adapter)
    print 'Mac地址 ............................. ' + HOST_INFO[1]
    print 'IP地址 .............................. ' + HOST_INFO[2]
    print '子网掩码 ............................ ' + HOST_INFO[3]
    print '网关地址 ............................ ' + HOST_INFO[4]

 

#!C:\\python26\\python.exe
# -*- coding:UTF-8 -*-
import os,sys
import socket


def cn(s):
    ''' 中文字符处理 '''
    if isinstance(s, unicode):
        return s.encode('gb2312')
    else:
        return s.decode('utf-8').encode('gb2312')


def GetInfo(adp):

    ''' [AdapterName, MacAddr, IPAddr, NetMask, Gateway] '''

    NAME_INFO=[];IP_INFO=[];MAC_INFO=[];MSK_INFO=[];GW_INFO=[]
    dict_ip={};dict_mac={};dict_msk={};dict_gw={}
    cmd = "ipconfig /all"
    txt = os.popen(cmd).readlines()
    for line in txt:
        if 'Ethernet adapter' in line:
            NAME_INFO.append(line.split('adapter')[1].split(':')[0].strip())
        if 'Physical Address' in line:
            MAC_INFO.append(line.split(':')[1].strip())
        if 'IP Address' in line:
            IP_INFO.append(line.split(':')[1].strip())
        if 'Subnet Mask' in line:
            MSK_INFO.append(line.split(':')[1].strip())
        if 'Default Gateway' in line:
            GW_INFO.append(line.split(':')[1].strip())
            
    for i in range(0,len(NAME_INFO)):
        dict_ip[NAME_INFO[i]] = IP_INFO[i]
        dict_mac[NAME_INFO[i]] = MAC_INFO[i]
        dict_msk[NAME_INFO[i]] = MSK_INFO[i]
        dict_gw[NAME_INFO[i]] = GW_INFO[i]

    if adp not in dict_ip.keys():
        print 'Error: No adapter name "%s" in this computer!' % (adp)
        print 'You can select in: %s' % (NAME_INFO)
        sys.exit()
    else:
        return [adp,dict_mac[adp],dict_ip[adp],dict_msk[adp],dict_gw[adp]]
    

if __name__ == '__main__':
    NetWork_Adapter = cn('本地连接')
    HOST_INFO = GetInfo(NetWork_Adapter)
    print cn('Mac地址 ............................. ') + HOST_INFO[1]
    print cn('IP地址 .............................. ') + HOST_INFO[2]
    print cn('子网掩码 ............................ ') + HOST_INFO[3]
    print cn('网关地址 ............................ ') + HOST_INFO[4]


转自:http://blog.chinaunix.net/u3/93470/showart.php?id=2200956
排行榜 更多 +
找茬脑洞的世界安卓版

找茬脑洞的世界安卓版

休闲益智 下载
滑板英雄跑酷2手游

滑板英雄跑酷2手游

休闲益智 下载
披萨对对看下载

披萨对对看下载

休闲益智 下载