利用pypthon得到IP和MAC地址

简介:
 最近在学python,现在假设需要知道这台机器的ip和MAC地址,这个需求用shell和perl很简单就能得到,我这里使用python来实现这个功能,功能比较简单,老鸟可以闪过,下面贴出过程代码

login as: root
root@172.28.19.98's password:
Last login: Tue May 24 12:03:44 2011 from 172.28.102.210
[root@localhost ~]# ipython
Python 2.6.5 (r265:79063, Jan 20 2011, 13:20:15)
Type "copyright", "credits" or "license" for more information.

IPython 0.10.1 -- An enhanced Interactive Python.
?         -> Introduction and overview of IPython's features.
%quickref -> Quick reference.
help      -> Python's own help system.
object?   -> Details about 'object'. ?object also works, ?? prints more.

In [1]: ps = !ifconfig
/usr/local/lib/python2.6/site-packages/IPython/genutils.py:437: DeprecationWarning: os.popen3 is deprecated.  Use the subprocess module.
  pin,pout,perr = os.popen3(cmd)

In [2]: ps= !ifconfig

In [3]: ps.g
ps.get_list   ps.get_nlstr  ps.get_paths  ps.get_spstr  ps.grep

In [3]: ps.grep("inet addr")
Out[3]: SList (.p, .n, .l, .s, .grep(), .fields(), sort() available):
0:           inet addr:172.28.19.98  Bcast:172.28.255.255  Mask:255.255.0.0
1:           inet addr:172.16.2.165  Bcast:172.16.255.255  Mask:255.255.0.0
2:           inet addr:127.0.0.1  Mask:255.0.0.0

In [4]: ps.grep("inet addr").fields(2)
Out[4]: SList (.p, .n, .l, .s, .grep(), .fields(), sort() available):
0: Bcast:172.28.255.255
1: Bcast:172.16.255.255
2: Mask:255.0.0.0

In [5]: ps.grep("inet addr").fields(1)
Out[5]: SList (.p, .n, .l, .s, .grep(), .fields(), sort() available):
0: addr:172.28.19.98
1: addr:172.16.2.165
2: addr:127.0.0.1

In [6]: ps.grep("HWaddr").fields(0,4)
Out[6]: SList (.p, .n, .l, .s, .grep(), .fields(), sort() available):
0: eth0 00:14:85:01:DC:6A
1: eth1 00:0D:88:4A:C6:0D



   这里利用的是grep的方法,实现的功能和shell中的awk和sed类似,哈哈,代码很简单吧。。。
本文转自你是路人甲还是霍元甲博客51CTO博客,原文链接http://blog.51cto.com/world77/573091如需转载请自行联系原作者

world77
相关文章
Mac下查看公网以及内网IP地址
Mac下查看公网以及内网IP地址
420 0
|
7月前
|
缓存 网络协议 网络架构
【计算机网络】第三章 数据链路层(MAC地址 IP地址 ARP协议)
【计算机网络】第三章 数据链路层(MAC地址 IP地址 ARP协议)
137 1
|
4月前
|
域名解析 网络协议 虚拟化
|
3月前
|
缓存 网络协议 网络架构
网络抓包分析【IP,ICMP,ARP】以及 IP数据报,MAC帧,ICMP报和ARP报的数据报格式
本文详细介绍了如何使用网络抓包工具Wireshark进行网络抓包分析,包括以太网v2 MAC帧、IP数据报、ICMP报文和ARP报文的格式,以及不同网络通信的过程。文章通过抓包分析展示了IP数据报、ICMP数据报和ARP数据报的具体信息,包括MAC地址、IP地址、ICMP类型和代码、以及ARP的硬件类型、协议类型、操作类型等。通过这些分析,可以更好地理解网络协议的工作机制和数据传输过程。
网络抓包分析【IP,ICMP,ARP】以及 IP数据报,MAC帧,ICMP报和ARP报的数据报格式
IP和MAC的作用区别
【9月更文挑战第3天】IP 是地址,有定位功能;MAC 是身份证,无定位功能
|
6月前
|
弹性计算 Ubuntu Linux
为什么要学习去使用云服务器,外网 IP能干什么,MAC使用Termius连接阿里云服务器。保姆级教学
为什么要学习去使用云服务器,外网 IP能干什么,MAC使用Termius连接阿里云服务器。保姆级教学
|
7月前
|
网络协议 Linux Android开发
计算机网络:MAC地址 & IP地址 & ARP协议
计算机网络:MAC地址 & IP地址 & ARP协议
333 7
|
7月前
|
Linux 开发工具
Linux配置静态ip及克隆出现Mac相同问题
Linux配置静态ip及克隆出现Mac相同问题
98 0
Linux配置静态ip及克隆出现Mac相同问题
|
7月前
|
Python
pytho3 urllib urllib3 获取本地ip地址和mac地址发送post到指定http服务器
pytho3 urllib urllib3 获取本地ip地址和mac地址发送post到指定http服务器
66 0
|
7月前
|
Python
pytho2 urllib urllib2 获取本地ip地址和mac地址发送post到指定http服务器
pytho2 urllib urllib2 获取本地ip地址和mac地址发送post到指定http服务器
47 0