Herramientas de usuario

Herramientas del sitio


enlaces:utilidades_de_red:scapy

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anteriorRevisión previa
enlaces:utilidades_de_red:scapy [2018/11/26 16:29] cayuenlaces:utilidades_de_red:scapy [Fecha desconocida] (actual) – borrado - editor externo (Fecha desconocida) 127.0.0.1
Línea 1: Línea 1:
-====== Scapy ====== 
-Scapy es una herramienta de manipulación de paquetes de red, escrita en Python. Puede falsear o decodificar paquetes, enviarlos, capturarlos y hacer coincidir solicitudes y respuestas. 
-===== Ejemplos ===== 
-==== Sniffer ==== 
-<code python> 
-sniff(iface="<interface>", prn = lambda x: x.show(), filter="tcp", store=0) 
-</code> 
-Python/Scapy FTP Password Sniffer : 
-<code python> 
-#! /usr/bin/python 
-  
-import sys 
-from logging import getLogger, ERROR 
-getLogger('scapy.runtime').setLevel(ERROR) 
-try: 
-    from scapy.all import * 
-except ImportError: 
-    print '[!] Error: Scapy Installation Not Found' 
-    sys.exit(1) 
-  
-interface = sys.argv[1] 
-  
-usernames = ['Error: Unlucky Timing'] 
-passwords = ['Error: Unlucky Timing'] 
-  
-def check_login(pkt, username, password): 
-    try: 
-        if '230' in pkt[Raw].load: 
-            print '[*] Valid Credentials Found... ' 
-            print '\t[*] ' + str(pkt[IP].dst).strip() + ' -> ' + str(pkt[IP].src).strip() + ':' 
-            print '\t   [*] Username: ' + username 
-            print '\t   [*] Password: ' + password + '\n' 
-            return 
-        else: 
-            return 
-    except Exception: 
-        return  
-  
-def check_for_ftp(pkt): 
-    if pkt.haslayer(TCP) and pkt.haslayer(Raw): 
-        if pkt[TCP].dport == 21 or pkt[TCP].sport == 21: 
-            return True 
-        else: 
-            return False 
-    else: 
-        return False 
-  
-def check_pkt(pkt): 
-    if check_for_ftp(pkt): 
-        pass 
-    else: 
-        return 
-    data = pkt[Raw].load 
-    if 'USER ' in data: 
-        usernames.append(data.split('USER ')[1].strip()) 
-    elif 'PASS ' in data: 
-        passwords.append(data.split('PASS ')[1].strip()) 
-    else: 
-        check_login(pkt, usernames[-1], passwords[-1]) 
-    return 
-  
-print '[*] Sniffing Started on %s... \n' % interface 
-try: 
-    sniff(iface=interface, prn=check_pkt, store=0) 
-except Exception: 
-    print '[!] Error: Failed to Initialize Sniffing' 
-    sys.exit(1) 
-print '\n[*] Sniffing Stopped' 
-</code> 
-==== Ping ==== 
-<code python> 
-sr(IP(dst="8.8.8.8")/ICMP()) 
-</code> 
-==== Ejemplos de 0x90 ==== 
-Ejemplos de [[https://github.com/0x90/uberscapy|0x90]]. 
  
-Sniffing on eth0: 
-<code python> 
-    sniff(iface="eth0", prn=lambda x: x.summary()) 
-    sniff(iface="eth0", prn=lambda x: x.show()) 
-</code> 
-Formated sniff output 
-<code python> 
-    sniff(prn=lambda x:x.sprintf("{IP:%IP.src% -> %IP.dst%\n}{Raw:%Raw.load%\n}")) 
-</code>     
-     
-Traceroute: 
-<code python> 
- traceroute(["www.google.com","www.ust.cl","www.terra.cl","www.microsoft.com"],maxttl=20) 
- result, unans=_ 
- result.show() 
- # save output 
- result.graph(type="ps", target="|lp") 
- result.graph(target="> grafico.svg") 
-</code> 
-Port scanner: 
-<code python> 
- res,unans = sr( IP(dst="target")/TCP(flags="S", dport=(1,1024)) ) 
- res.nsummary( lfilter=lambda (s,r): (r.haslayer(TCP) and (r.getlayer(TCP).flags & 2)) ) 
-</code> 
- 
-===== Referencias ===== 
-https://github.com/0x90/uberscapy 
enlaces/utilidades_de_red/scapy.1543249747.txt.gz · Última modificación: 2018/11/26 16:29 por cayu