un programme qui permet d'extraire les donnés a partir des adresses IP

Document Actions
Réponses: 3   Visites: 0
Up one level
Vous devez être un membre enregistré pour contribuer sur ce forum. Inscrivez-vous maintenant

un programme qui permet d'extraire les donnés a partir des adresses IP

Posté par muhameud le 06/01/2012 18:03
j'ai programmer avec python 2.6 un algorithme qui permet de détecter (les adresses IP) entrants(input) et sortants (output) de mon ordinateur qui communique avec des autres ordinateurs dans un réseau WI-FI et la mission est réussite.
le problèmes : comment déterminer les informations autrement dit comment extraire les données a partir de ces adresses IP?

Merci
Cordialement
Mohamed Mediouni

Re: un programme qui permet d'extraire les donnés a partir des adresses IP

Posté par Cedric le 06/01/2012 23:47
Le module pcap permet d'acceder aux différents champs (ip sources, ip destinations, options, données, etc.) d'un datagramme IP. Si c'est la question.
Voici un exemple: https://bitbucket.org/cedricbonhomme/ip-link/src/44425fe7b98e/source/pcap_to_object1.py#cl-33 Cette fonction permet de récupérer les données d'un paquet IP dans un dictionnaire.

Re: un programme qui permet d'extraire les donnés a partir des adresses IP

Posté par muhameud le 07/01/2012 19:04
Bonjour
D’abord merci pour votre réponse claire et précise.
Est ce que la fonction que vous m’avez donnés permette d’extraire les fichiers provenant des adresses IP par exemple (fichier PDF, fichier image, fichier sons…) puis le mettre dans un document ou un dictionnaire car mon objectif est de classifier les fichiers.
Exemples : Fichier PDF : 45%
Fichier image : 23%

Cordialement
Mohamed Mediouni

Re: un programme qui permet d'extraire les donnés a partir des adresses IP

Posté par Cedric le 08/01/2012 10:13
C'est un peu plus compliqué que ça car il faut réassembler les paquets dans l'ordre et ensuite concaténer les données récuperer dans le dictionnaire...

On peut faire beaucoup plus simple en utilisant le programme tcpflow (http://www.circlemud.org/jelson/software/tcpflow/).


code:
# On lance une capture réseau sur un shell
$ sudo tcpdump -i eth0 -s 0 -w dump.cap port 80

# Sur un autre on télécharge un PDF
$ wget www.python.org/doc/essays/ppt/lwnyc2002/intro22.pdf

$ tcpflow -r dump.cap

$ ls -l *192*
-rw-rw-r-- 1 cedric cedric 1667904 2012-01-08 09:53 082.094.164.162.00080-192.168.001.013.36033
-rw-rw-r-- 1 cedric cedric     148 2012-01-08 09:53 192.168.001.013.36033-082.094.164.162.00080



Ensuite on peut utiliser un script (reconstruct-data.py) du genre:
code:
with open("082.094.164.162.00080-192.168.001.013.36033" , "rb") as flow:
    data = flow.readlines()

i = 0
for line in data:
    i += 1
    if "Content-Type" in line:
        file_type = line.split("/")[1]

        with open("result."+file_type, "w") as result:
            result.write("".join(data(i+1:)))

C'est script un peu bête.

code:
$ reconstruct-data.py

$ sha1sum result.pdf intro22.pdf 
20547681871702179773a4291d94960bdcfdb040  result.pdf
20547681871702179773a4291d94960bdcfdb040  intro22.pdf


Les deux fichiers sont identiques.

Python.org : Le site officiel du langage Python.
Zope.org : Le site web officiel de Zope.
Daily Python-URL : Actus de l'univers Python.
Tribute to Zyons : Zyons notre ami et membre fondateur de l'Afpy, nous quittait en 2005.