首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用替罪羊获取有关layer2连接的信息

使用替罪羊获取有关layer2连接的信息
EN

Stack Overflow用户
提问于 2017-01-15 22:22:33
回答 1查看 798关注 0票数 0

我想从pcap中获取有关mac地址在802.11协议中“交谈”的信息。我做了一些类似于tcp连接的工作:

代码语言:javascript
复制
    l = self.pcap[int(arg)]
    ipsrc = l.getlayer("IP").src
    ipdst = l.getlayer("IP").dst
    portsrc = l.getlayer("TCP").sport
    portdst = l.getlayer("TCP").dport

    pkt = []
    pkt.append([])
    for i,p in enumerate(self.pcap):
        if p.haslayer('TCP'):
            if p[IP].src == ipsrc and p[IP].dst == ipdst and p[TCP].sport == portsrc and p[TCP].dport == portdst:
                pkt.append([i, p])
            if p[IP].src == ipdst and p[IP].dst == ipsrc and p[TCP].sport == portdst and p[TCP].dport == portsrc:
                pkt.append([i, p])

其中,arg是一个表示数据包ID的数字,而self.pcap是一个使用rdpcap命令打开的pcap。

除了mac地址和802.11协议之外,还有人知道如何实现上述功能吗?谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-01-17 15:30:07

参见从802.11 mac头获取mac附件的示例:

代码语言:javascript
复制
from scapy.all import *

pcap = rdpcap('test_wifi.pcap')
for pkt in pcap:
    if pkt.haslayer(Dot11):
        print "Addr1 = %s, Addr2 = %s, Addr3 = %s, Addr4 = %s" %(pkt.addr1, pkt.addr2, pkt.addr3, pkt.addr4)

我将我的无线网卡设置为监视模式,并将捕获的数据包保存到“test_wifi.pcap”文件中以测试此代码。

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

https://stackoverflow.com/questions/41666973

复制
相关文章

相似问题

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