gpt4 book ai didi

Python 和 libpcap。查找数据包的源mac地址

转载 作者:行者123 更新时间:2023-11-28 22:06:50 25 4
gpt4 key购买 nike

我正在编写 python 程序来使用 pcap 构建 mac 地址缓存。但是 python 的 pcap 模块没有好的文档。我找到了这个页面 http://pylibpcap.sourceforge.net/带有代码示例,它工作正常。

任何人都可以修改此示例以使其能够显示每个数据包的源 mac 地址吗?或者指出我可以阅读的文档 ...

已更新

这是一个代码部分,其中有关 mac 地址的信息被删除了。

def print_packet(pktlen, data, timestamp):
if not data:
return

if data[12:14]=='\x08\x00':
decoded=decode_ip_packet(data[14:])
print '\n%s.%f %s > %s' % (time.strftime('%H:%M',
time.localtime(timestamp)),
timestamp % 60,
decoded['source_address'],
decoded['destination_address'])
for key in ['version', 'header_len', 'tos', 'total_len', 'id',
'flags', 'fragment_offset', 'ttl']:
print ' %s: %d' % (key, decoded[key])
print ' protocol: %s' % protocols[decoded['protocol']]
print ' header checksum: %d' % decoded['checksum']
print ' data:'
dumphex(decoded['data'])

数据中的前 14 个八位字节是目标、源 mac-addr 和以太网类型。

    decoded=decode_ip_packet(data[14:])

我需要解析它们以获取此信息。任务完成。

最佳答案

谷歌“以太网帧格式”。数据包的前 6 个八位字节是目标 MAC 地址,紧随其后的是源 MAC 地址的 6 个八位字节。

Wikipedia page可能有帮助。

关于Python 和 libpcap。查找数据包的源mac地址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3014218/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com