Spoofing public IPv4 address

1

¿Cómo puedo falsificar mi dirección IPv4 pública a otra sin usar proxys? No necesito ninguna respuesta, ¡no es necesario completar el protocolo TCP! ¡Solo quiero enviar un paquete SYN con una dirección de origen falsificada (específica)! Mi problema es que cada paquete que elabora puede tener una IP privada falsificada y mi enrutador simplemente eliminaría el paquete (o al menos el ISP) y no sé cómo podría llegar a un servidor web fuera de mi red en casa . ¿Hay alguna posibilidad de hacer que el ISP lo reenvíe? Si olvidé información importante, hágamelo saber.

thx

    
pregunta h4x0r 30.07.2014 - 14:55
fuente

1 respuesta

4

Si eres programador de Python, puedes utilizar el programa interactivo de manipulación de paquetes de Scapy para Crea tus propios paquetes y envíalos. También puede usarlo como una biblioteca dentro de su propio programa Python.

Desde el programa interactivo, aquí se explica cómo puede crear un paquete IP, cambiar la dirección de origen y enviarlo. Scapy utilizará las rutas predeterminadas que haya configurado.

>>> pkt = IP(src="1.2.3.4", dst="5.6.7.8")
>>> pkt.show()
###[ IP ]###
  version= 4
  ihl= None
  tos= 0x0
  len= None
  id= 1
  flags= 
  frag= 0
  ttl= 64
  proto= ip
  chksum= None
  src= 1.2.3.4
  dst= 5.6.7.8
  \options\
>>> pkt.send()

Lo divertido de Scapy es que crea todos los encabezados de capa inferior para usted si no los especifica con los valores predeterminados. Entonces, en el ejemplo anterior, el encabezado de Ethernet ya está creado para usted. Probablemente desee manipular la capa TCP, por lo que el siguiente código se basará en el ejemplo anterior.

>>> ip_layer = IP(src="1.2.3.4", dst="5.6.7.8")
>>> tcp_layer = TCP()
>>> pkt = ip_layer/tcp_layer
>>> pkt.show()
###[ IP ]###
  version= 4
  ihl= None
  tos= 0x0
  len= None
  id= 1
  flags= 
  frag= 0
  ttl= 64
  proto= tcp
  chksum= None
  src= 1.2.3.4
  dst= 5.6.7.8
  \options\
###[ TCP ]###
     sport= ftp_data
     dport= http
     seq= 0
     ack= 0
     dataofs= None
     reserved= 0
     flags= S
     window= 8192
     chksum= None
     urgptr= 0
     options= {}

Siempre que sus rutas estén configuradas correctamente para llegar a su destino, debería poder enviar el paquete. Scapy también podrá capturar la respuesta y lo que no, si es necesario. La documentación proporciona buenos ejemplos simples, pero carece de ejemplos más avanzados. La API no está bien documentada, pero hay una versión de doxygen aquí arriba

    
respondido por el RoraΖ 30.07.2014 - 15:12
fuente

Lea otras preguntas en las etiquetas