¿No debería ser posible? Supongamos que no necesito una respuesta, solo quiero enviar una solicitud. ¿No deberíamos poder alterar los encabezados tcp / ip, porque nuestra computadora lo envía? Probablemente me estoy perdiendo algo, solo realmente curioso, aprendiendo sobre eso en la universidad.
-H/--header <header>
(HTTP) Extra header to use when getting a web page. You may
specify any number of extra headers. Note that if you should add
a custom header that has the same name as one of the internal
ones curl would use, your externally set header will be used
instead of the internal one. This allows you to make even
trickier stuff than curl would normally do. You should not
replace internally set headers without knowing perfectly well
what you’re doing. Remove an internal header by giving a
replacement without content on the right side of the colon,
as in: -H "Host:".
Quiero cambiar la fuente IP creo, y no permite que en lo que puedo decir ...
TMM
¿A qué protocolo? He agregado un ejemplo del mundo real del cambio de la dirección IP de origen que se refleja en los registros de acceso de apache.
geedoubleya
2
http http http http
tmm
Esto no cambiará la IP que la máquina ve adjunta a la solicitud TCP sin procesar.
de Raad
3
Creo que la respuesta aceptada realmente no te ayudará a falsificar tu IP por completo. Realmente no puede falsificar su IP de origen a menos que tenga acceso a enrutadores cercanos a la máquina de destino.
TCP funciona en un mecanismo de enlace de 3 vías. No podrá completar este apretón de manos ya que la respuesta del apretón de manos de la máquina objetivo irá a su IP falsificada y no a la suya propia (a menos que, como se dijo antes, controle sus enrutadores cercanos y redirija la respuesta hacia usted).
PD: es posible que pueda enviar un mensaje UDP, pero no lo he probado.
Como la pregunta original preguntaba cómo se haría esto curl, supongo que están intentando acceder a algún recurso HTTP. HTTP sobre UDP no es algo que curladmita AFAIK ni es algo más allá de lo experimental en este momento.
IvanGoneKrazy
1
Es posible cambiar la dirección IP de origen, si su interfaz de red local tiene múltiples direcciones IP.
Supongamos que tiene un servidor que tiene 2 direcciones IP 1.1.1.10y 2.2.2.20:
$ ip route
default via 1.1.1.193 dev eth0
1.1.1.192/27 via 1.1.1.193 dev eth0
1.1.1.192/27 dev eth0 proto kernel scope link src 1.1.1.10
2.2.2.20 via 2.2.2.20 dev eth0 scope link
Puede verificar su dirección IP pública actual con el increíble servicio web ifconfig.co :
$ curl -4 ifconfig.co
1.1.1.10
Para acceder al servicio web ifconfig.co utilizando la otra dirección IP ( 2.2.2.20), puede crear una ruta basada en la dirección IP del servidor de destino. Use dig para encontrar las direcciones IP de destino de los Aregistros DNS :
$ dig ifconfig.co
...
ifconfig.co. 39 IN A 104.28.18.94
ifconfig.co. 39 IN A 104.28.19.94
...
Ahora agregue rutas personalizadas para estas direcciones IP:
$ ip route add 104.28.18.94/32 via 1.1.1.193 dev eth0 src 2.2.2.20
$ ip route add 104.28.19.94/32 via 1.1.1.193 dev eth0 src 2.2.2.20
Al ejecutar curl nuevamente, verá que está utilizando la otra dirección IP de origen:
$ curl -4 ifconfig.co
2.2.2.20
Además, su información de enrutamiento se actualiza:
$ ip route
default via 1.1.1.193 dev eth0
1.1.1.192/27 via 1.1.1.193 dev eth0
1.1.1.192/27 dev eth0 proto kernel scope link src 1.1.1.10
2.2.2.20 via 2.2.2.20 dev eth0 scope link
104.28.18.94 via 1.1.1.193 dev eth0 src 2.2.2.20
104.28.19.94 via 1.1.1.193 dev eth0 src 2.2.2.20
Nota: esto solo funciona si la dirección IP de origen se puede resolver en su servidor; de lo contrario, el protocolo de enlace TCP de 3 vías fallará, como se indica aquí .
Creo que la respuesta aceptada realmente no te ayudará a falsificar tu IP por completo. Realmente no puede falsificar su IP de origen a menos que tenga acceso a enrutadores cercanos a la máquina de destino.
TCP funciona en un mecanismo de enlace de 3 vías. No podrá completar este apretón de manos ya que la respuesta del apretón de manos de la máquina objetivo irá a su IP falsificada y no a la suya propia (a menos que, como se dijo antes, controle sus enrutadores cercanos y redirija la respuesta hacia usted).
PD: es posible que pueda enviar un mensaje UDP, pero no lo he probado.
fuente
curl
, supongo que están intentando acceder a algún recurso HTTP. HTTP sobre UDP no es algo quecurl
admita AFAIK ni es algo más allá de lo experimental en este momento.Es posible cambiar la dirección IP de origen, si su interfaz de red local tiene múltiples direcciones IP.
Supongamos que tiene un servidor que tiene 2 direcciones IP
1.1.1.10
y2.2.2.20
:Puede verificar su dirección IP pública actual con el increíble servicio web ifconfig.co :
Para acceder al servicio web ifconfig.co utilizando la otra dirección IP (
2.2.2.20
), puede crear una ruta basada en la dirección IP del servidor de destino. Use dig para encontrar las direcciones IP de destino de losA
registros DNS :Ahora agregue rutas personalizadas para estas direcciones IP:
Al ejecutar curl nuevamente, verá que está utilizando la otra dirección IP de origen:
Además, su información de enrutamiento se actualiza:
Nota: esto solo funciona si la dirección IP de origen se puede resolver en su servidor; de lo contrario, el protocolo de enlace TCP de 3 vías fallará, como se indica aquí .
fuente