我正在寫python程序來使用pcap建立mac-address緩存。但是python的pcap模塊沒有很好的文檔。我發現這個頁面http://pylibpcap.sourceforge.net/與代碼示例,它工作正常。Python和libpcap。找到數據包的源mac地址
任何人都可以修改此示例,使其能夠顯示每個數據包的源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和ether類型。
decoded=decode_ip_packet(data[14:])
我需要解析它們才能獲取此信息。任務完成。
非常感謝!這很簡單,當你知道該怎麼做.. – Shamanu4 2010-06-10 14:16:57