IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Développement Discussion :

[Python] [Scapy] Recevoir de la Data [Expert Network & Python Only]


Sujet :

Développement

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre actif
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Mai 2014
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2014
    Messages : 33
    Par défaut [Python] [Scapy] Recevoir de la Data [Expert Network & Python Only]
    bonjour voila mon projet est de pouvoir envoyer un packet avec scapy avec un port de destination tres special (genre 80 ou 22 ou 161 ou 123 ...)
    et si l'ip repond au packet envoyer c'est bon cela veux dire que le port est ouvert


    bon voila je sais comment envoyer le packet
    dans l'exemple j'ai choisis le protocole UDP (port 161) lié au service SNMP

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    
    #!/usr/bin/env python
    from scapy.all import *
    import socket
    import subprocess
    import sys
    from datetime import datetime
    
    
    subprocess.call('clear', shell=True)
    
    
    adresseIP    = raw_input("Adresse IP : ")
    
    data ="\x14"
    packet = IP(dst=adresseIP)/UDP(dport=161)/Raw(load=data) 
    send(packet)
    Bon voila la j'ai envoyer le packet mais comment obtenir la reponse et savoir si on recoit quelque chose ou pas pour savoir si le port est ouvert ou fermer


    j'ai penser a cette fonction sr1()

    en codant ce code :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    #!/usr/bin/env python
    import socket
    import subprocess
    import sys
    from scapy.all import *
    from datetime import datetime
    
    subprocess.call('clear', shell=True)
    
    adresseIP    = raw_input("Adresse IP : ")
    
    pingr = IP(dst=adresseIP)/UDP(dport=161)
    sr1(pingr)
    La aussi le probleme est que meme sur des machines ou j'ai installer snmp et activer via un service snmpd restart et où le port 161 est open (test via nmap) je got aucun packet

    mais genre si je tape www.google.com je recois quelque chose


    Des idée pour m'aider a recevoir la reponse d'un packet envoyer sur le port 161 ?


    Merci d'avance

  2. #2
    Invité
    Invité(e)
    Par défaut
    Il me semble avoir répondu à ta question :

    http://www.developpez.net/forums/d14...tcp-problemes/

    Mais bon, je vais laisser un "Expert Network & Python Only" répondre

  3. #3
    Membre actif
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Mai 2014
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2014
    Messages : 33
    Par défaut Merci
    Oui j'ai vu merci mais sa m'a l'air vraiment compliquer j'ai trouver un script utilisant le import nmap

    le voici : http://pastebin.com/2jvJUurb

    qu'en pensez vous ?

  4. #4
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par SmoZy Voir le message
    Oui j'ai vu merci mais sa m'a l'air vraiment compliquer j'ai trouver un script utilisant le import nmap

    le voici : http://pastebin.com/2jvJUurb

    qu'en pensez vous ?
    Et selon toi, que fais nmap pour scanner des ports UDP ?

    Il émet un datagramme UDP vers le port en question et considère le port fermé lorsqu'il reçoit un ICMP Port Unreachable.

    Dans le cas contraire (à savoir il reçoit une réponse ou il ne reçoit aucune réponse), il considère le port comme filtré/ouvert.

    Steph

  5. #5
    Membre actif
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Mai 2014
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2014
    Messages : 33
    Par défaut
    Merci Steph de toi aide !

    essaye le scripts que j'ai trouver il ne fais rien du tout

    python scan.py

    aucun resultat



    Merci

  6. #6
    Membre actif
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Mai 2014
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2014
    Messages : 33
    Par défaut
    J'ai trouver sa en perl

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    #!/usr/bin/perl
    
    use Net::Ping;
    use IO::Select;
    use IO::Socket::INET;
    
    # IP address to scan
    my $ip = '10.0.0.1';
    
    # First we will send a ping to make sure the scanned host is exist
    my $p = Net::Ping->new( "icmp", 1, 64 );
    if ( $p->ping($ip) ) {
     print "$ip answered ping , Start scanning ....\n";
    } else {
     print "$ip did not answer ping\n";
    exit 5;
    }
    # Time  to wait for the "destination unreachable" package.
    my $icmp_timeout=2;
    # Create the icmp socket for the "destination unreachable" packages  
    $icmp_sock = new IO::Socket::INET(Proto=>"icmp");
    $read_set = new IO::Select();
    $read_set->add($icmp_sock);
    
    # Buffer to send via UDP
    my $buf="hello";
    
    # Scan all the ports .....
    for ( $i=1 ; $i <= 65535 ; $i++ ) {      # Create UDP socket to the remote  host and port    
        my $sock = new IO::Socket::INET(PeerAddr=>$ip,
        PeerPort=>$i,
        Proto=>"udp");
          # Send the buffer and close the UDP socket.
        $sock->send("$buf");
        close($sock);
    
          # Wait for incoming packets.
        ($new_readable) = IO::Select->select($read_set, undef, undef, $icmp_timeout);
          # Set the arrival flag.
        $icmp_arrived = 0;
          # For every socket we had received packets (In our case only one - icmp_socket)
        foreach $socket (@$new_readable)
        {
               # If we have captured an icmp packages, Its probably "destination unreachable"
             if ($socket == $icmp_sock)
             {
                    # Set the flag and clean the socket buffers
                  $icmp_arrived = 1;
                  $icmp_sock->recv($buffer,50,0);
             }
        }
        if ( $icmp_arrived == 0 )
        {
             print "Open  UDP port : $i\n";
        }
    }
    # Close the icmp sock
    close($icmp_sock);
    print "End !!\n";

    c'est exactement sa ! mais apres le coder en python ^^

Discussions similaires

  1. Réponses: 5
    Dernier message: 16/04/2015, 23h35
  2. Python => Aide sur les fonctions min() et max() de Python
    Par PythonNovices dans le forum Général Python
    Réponses: 2
    Dernier message: 30/12/2014, 17h28
  3. [Python Scapy]Extraction CRC Ethernet
    Par Moskito dans le forum Réseau/Web
    Réponses: 1
    Dernier message: 02/03/2010, 10h23
  4. python C API: convertir une struct C en Class python
    Par dmichel dans le forum Interfaçage autre langage
    Réponses: 11
    Dernier message: 25/06/2008, 17h30
  5. Python et Scapy : Questions diverses
    Par Dschub dans le forum Réseau/Web
    Réponses: 2
    Dernier message: 01/05/2008, 16h47

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo