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

Python和libpcap。查找数据包的源mac地址,python,pcap,mac-address,libpcap,Python,Pcap,Mac Address,Libpcap,我正在编写python程序来使用pcap构建mac地址缓存。但是python的pcap模块没有好的文档。我发现这个页面有代码示例,效果很好 有人可以修改这个示例,使其能够显示每个数据包的源mac地址吗?或者给我指一下我可以阅读的文档 更新 下面是一个代码部分,其中有关mac地址的信息被剪切 def print_packet(pktlen, data, timestamp): if not data: return if data[12:14]=='\x08\x00':

我正在编写python程序来使用pcap构建mac地址缓存。但是python的pcap模块没有好的文档。我发现这个页面有代码示例,效果很好

有人可以修改这个示例,使其能够显示每个数据包的源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地址和以太类型

    decoded=decode_ip_packet(data[14:])

我需要解析它们才能得到这些信息。任务完成。

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


这可能会有帮助。

哦,我的上帝,你为什么要这么做?改用。

如何使用Scapy,我无法从pcap文件获取mac地址的确切功能