Question

Je vous écris programme python pour construire cache-mac adresse à l'aide PPCE. Mais le module PPCE pour python n'a pas une bonne documentation. J'ai trouvé cette page http://pylibpcap.sourceforge.net/ avec l'exemple de code et il fonctionne très bien.

Quelqu'un peut-il modifier cet exemple pour le rendre capable de montrer le mac adresse de source pour chaque paquet? Ou me pointer à la documentation où je peux lire à ce sujet ...

mise à jour

Voici une partie de code où des informations sur les adresses MAC ont été coupées.

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'])

First 14 octets de données de destination, la source mac-addr et du type éther.

    decoded=decode_ip_packet(data[14:])

Je dois les analyser pour obtenir cette information. La tâche est fait.

Était-ce utile?

La solution

Google "formats de trame Ethernet". Les 6 premiers octets d'un paquet est l'adresse MAC de destination, qui est immédiatement suivi par les 6 octets de l'adresse MAC source.

la page Wikipédia peut aider.

Autres conseils

Oh mon homme dieu, pourquoi fais-tu cela? Utilisez Scapy à la place.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top