سؤال

أنا أكتب برنامج 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 المصدر.

هذه صفحة ويكيبيديا قد يساعد.

نصائح أخرى

يا إلهي يا رجل ، لماذا تفعل هذا؟ يستخدم سكيب في حين أن.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top