运行结果为空

运行结果为空

from concurrent.futures.thread import ThreadPoolExecutor

from scapy.all import srp,ARP,conf,Ether

# 设置不需要出现太多的 信息
conf.verb = 0

def handle_arp_address(ip_address):
    # srp 让arp数据库包工作在数据

    ans,unans = srp(Ether(dst="ff:ff:ff:ff:ff:ff")/ARP(pdst=ip_address),timeout=2)

    for snd,rcv in ans:
        # 解析为MAC&地址的格式
        print(rcv.sprintf(r"%Ether.src% & %ARP.psrc%"))


#handle_arp_address("192.168.15.1")

ip_list = ["192.168.15."+str(i) for i in range(1,255)]
print(ip_list)
t = ThreadPoolExecutor()
thread_list = []
for ip in ip_list:
    thread = t.submit(handle_arp_address, ip)
    thread_list.append(thread)
t.shutdown()

http://img1.sycdn.imooc.com//climg/5f03ee250949d3ae04280254.jpg

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

7回答
好帮手慕笑蓉 2020-07-08 18:14:00

同学,你好。运行代码是否是以管理员的身份运行的?如果不是需要切换管理员的身份运行,用pycharm可用如下方式打开管理员运行权限:

http://img1.sycdn.imooc.com//climg/5f059b0209c461d905480353.jpg

之后再次运行代码试一试。

也可以用命令行的方式运行,以管理员身份打开,运行代码如:

http://img1.sycdn.imooc.com//climg/5f059c0009566f0305190265.jpg

祝学习愉快~ 



提问者 慕容1589625 2020-07-08 09:51:41
好帮手慕笑蓉 2020-07-08 09:42:53

同学,你好。使用ping命令ping一下,看是否可以ping通其他已经连接网络的设备,如:

http://img1.sycdn.imooc.com//climg/5f05223c097d6dc906610313.jpg

如果不能ping通,则无法获得对方的mac地址。

祝学习愉快~

  • 提问者 慕容1589625 #1
    可以ping通的,一个是我手机,一个是我朋友的电脑,ping通之后,多次运行程序,结果还是空白,具体看我回复的图片
    2020-07-08 09:53:15
提问者 慕容1589625 2020-07-07 20:46:34
提问者 慕容1589625 2020-07-07 17:00:36
  • 同学,你好。可能是此网段只有同学自己的电脑一台设备,因此没有返回结果,代码是没有问题的。 如果解决了你的疑惑,请采纳,祝学习愉快~
    2020-07-07 19:12:14
  • 提问者 慕容1589625 回复 好帮手慕笑蓉 #2
    是有多台设备,链接同一个路由器的,看我回复的图片
    2020-07-07 20:49:17
  • 提问者 慕容1589625 回复 好帮手慕笑蓉 #3
    是有多个设备连接到同一个路由器的,具体看我回复的图片
    2020-07-07 20:50:07
好帮手慕笑蓉 2020-07-07 16:53:19

同学,你好。代码是没有问题的,可能是此网卡没有连接到网络,或者是连接到网络的不是此网卡,可按如下方式确认连接网络的网卡:

首先确认自己的电脑是否连接了网络,如果没有连接网络,需要连接,连接后查看是哪块网卡连接到了网络,按如下方法查看(针对win10系统):

在电脑右下角,连接网络的图标右键点击“打开网络和Internet设置”-->“点击查看网络属性”,在展示出来的网卡中查看哪一个是正在使用的,如:

http://img1.sycdn.imooc.com//climg/5f04370e09a8116f08860791.jpg

找到后,先用默认网关试一试看是否可以得到mac,如果可以再用循环的方式得到此网络中其他设备的mac地址。

如果解决了你的疑惑,请采纳,祝学习愉快~ 

  • 提问者 慕容1589625 #1
    网络是连接上的,默认网关是 192.168.15.1,运行还是空,具体查看我回复的图片
    2020-07-07 17:01:51
提问者 慕容1589625 2020-07-07 11:39:06
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
4.入门主流框架Scrapy与爬虫项目实战
  • 参与学习           人
  • 提交作业       107    份
  • 解答问题       1672    个

Python最广为人知的应用就是爬虫了,有趣且酷的爬虫技能并没有那么遥远,本阶段带你学会利用主流Scrapy框架完成爬取招聘网站和二手车网站的项目实战。

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师