[英]Scapy/ARP request does not work for multiple/range IPs. Only for a single IP request
我正在創建一個簡單的 function,它應該收集我網絡中所有設備的 MAC 地址。
import scapy.all as scapy
def network_scan(ip):
arp_request = scapy.ARP(pdst=ip)
print(arp_request.summary())
network_scan("10.0.2.1/24")
此 ARP 請求返回“ARP who has?? says??”
但是當我嘗試請求單個 IP 的 MAC 地址時,效果很好:
network_scan("10.0.2.1")
單 IP output: ARP 有 10.0.2.1 說myIP
您傳遞給層 ARP 的值就可以了。 但是您的代碼沒有向網絡發送/接收任何數據包。
你可以在這里看到完整的解決方案: https://www.thepythoncode.com/article/building-network-scanner-using-scapy
現在,為什么它似乎適用於您的 IP? arp_request.summary() 嘗試解析 IP 並看到它是你的。 但掃描部分仍然需要發送數據包
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.