ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

使用python从MAC获取IP地址

2019-10-12 01:59:27  阅读:345  来源: 互联网

标签:mac-address scapy python ip


我的局域网中有一台设备,并且知道其MAC地址.它通过DHCP自动获取IP地址.我想获得此IP.

我不想使用nmap,但因为我是从Kivy应用程序导入的,所以Scapy会很好.

我发现:

from scapy.all import srp, Ether, ARP
ans,unans=srp(Ether(dst="ff:ff:ff:ff:ff:ff")/ARP(pdst="192.168.1.0/24"),timeout=2)

ans.summary()

我得到以下输出:

Ether / ARP who has 192.168.43.1 says 192.168.43.92 ==> Ether / ARP is at 3e:f8:d9:45:1b:3d says 192.168.43.1

我的两个问题是:

1:我必须使用sudo python运行脚本,我不确定kivy中的权限.

2:是否有一种简单的方法可以从.summary()中获取IP / MAC变量?

解决方法:

是的,您可以使用Scapy.这是ARP is-at数据包的示例:

###[ Ethernet ]###
  dst= 08:00:27:fa:25:8e
  src= 08:00:27:b1:af:68
  type= 0x806
    ###[ ARP ]###
     hwtype= 0x1
     ptype= 0x800
     hwlen= 6
     plen= 4
     op= is-at
     hwsrc= 08:00:27:b1:af:68
     psrc= 192.168.56.102
     hwdst= 08:00:27:fa:25:8e
     pdst= 192.168.56.101
        ###[ Padding ]###
            load= '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00 \x00\x00\x00\x00'

您可以将hwsrc和psrc值分配给这样的变量

srcMAC = pkt[ARP].hwsrc
srcIP = pkt[ARP].psrc

或者只是像这样打印它们

print pkt[ARP].hwsrc
print pkt[ARP].psrc

希望能有所帮助.

标签:mac-address,scapy,python,ip
来源: https://codeday.me/bug/20191012/1897046.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有