Notre première requête se résume à l'envoi d'un paquet ICMP vers notre réseau local. Pour cela, nous utilisons la commandes sr() qui permet l'envoi et la réception d'un paquet. Nous forgeons notre paquet IP de manière rudimentaire avec seulement l'adresse de destination et le protocole ICMP :
>>> a=sr(IP(dst="192.168.0.1")/ICMP())
Notre paquet a été envoyé, il nous faut maintenant en voir le résultat. Pour cela, nous rappelons l'objet a que nous avons utilisé pour la définition de notre paquet :
>>> a (<Results: UDP:0 TCP:0 ICMP:1 Other:0>, <Unanswered: UDP:0 TCP:0 ICMP:0 Other:0>)
Il y a eu une réponse à notre paquet ICMP.
Si nous désirons être un peu plus précis dans notre demande, nous pouvons spécifier le type d'ICMP utilisé, ici, un echo-request :
>>> b=IP(dst="192.168.0.1")/ICMP(code=8,type=0)
Contrairement à notre premier test, nous n'allons pas affecter le résultat dans notre variable, mais simplement notre paquet. Nous allons maintenant utiliser la commande srloop qui envoie des occurrences de paquet les unes à la suite des autres :
>>> srloop(b) RECV 1: IP / ICMP 192.168.0.254 > 192.168.0.2 echo-reply 0 / Padding RECV 1: IP / ICMP 192.168.0.254 > 192.168.0.2 echo-reply 0 / Padding RECV 1: IP / ICMP 192.168.0.254 > 192.168.0.2 echo-reply 0 / Padding RECV 1: IP / ICMP 192.168.0.254 > 192.168.0.2 echo-reply 0 / Padding RECV 1: IP / ICMP 192.168.0.254 > 192.168.0.2 echo-reply 0 / Padding RECV 1: IP / ICMP 192.168.0.254 > 192.168.0.2 echo-reply 0 / Padding RECV 1: IP / ICMP 192.168.0.254 > 192.168.0.2 echo-reply 0 / Padding RECV 1: IP / ICMP 192.168.0.254 > 192.168.0.2 echo-reply 0 / Padding RECV 1: IP / ICMP 192.168.0.254 > 192.168.0.2 echo-reply 0 / Padding RECV 1: IP / ICMP 192.168.0.254 > 192.168.0.2 echo-reply 0 / Padding RECV 1: IP / ICMP 192.168.0.254 > 192.168.0.2 echo-reply 0 / Padding RECV 1: IP / ICMP 192.168.0.254 > 192.168.0.2 echo-reply 0 / Padding RECV 1: IP / ICMP 192.168.0.254 > 192.168.0.2 echo-reply 0 / Padding RECV 1: IP / ICMP 192.168.0.254 > 192.168.0.2 echo-reply 0 / Padding Sent 15 packets, received 15 packets. 100.0% hits. (<Results: UDP:0 TCP:0 ICMP:15 Other:0>, <PacketList: UDP:0 TCP:0 ICMP:0 Other:0>)
a=sr(IP(dst="192.168.0.1")/TCP(dport=80))
![[SCAPY]](/scapydoc-com/chrome/common/trac_banner.png)