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]
|
阅读(1539) | 评论(0) | 转发(0) |