بيثون و libpcap. ابحث عن عنوان Mac Source من الحزمة
-
26-09-2019 - |
سؤال
أنا أكتب برنامج Python لإنشاء ذاكرة التخزين المؤقت Mac-Address باستخدام PCAP. لكن وحدة PCAP لـ Python ليس لديها وثائق جيدة. لقد وجدت هذه الصفحة http://pylibpcap.sourceforge.net/ مع مثال رمز ويعمل بشكل جيد.
هل يمكن لأي شخص تعديل هذا المثال لجعله قادرًا على إظهار مصدر Mac-Address لكل حزمة؟ أو أوجهني إلى الوثائق حيث يمكنني أن أقرأ عنها ...
محدث
فيما يلي جزء رمز حيث تم قطع معلومات عن عناوين 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:])
أحتاج إلى تحليلهم للحصول على هذه المعلومات. تتم المهمة.
المحلول
Google "تنسيقات إطار Ethernet". أول 6 ثمارات من الحزمة هو عنوان MAC الوجهة ، والذي يتبعه مباشرة 6 الثمانيات من عنوان MAC المصدر.
هذه صفحة ويكيبيديا قد يساعد.
نصائح أخرى
يا إلهي يا رجل ، لماذا تفعل هذا؟ يستخدم سكيب في حين أن.