Enviando a solicitação CURL com o IP personalizado

14

Não deveria ser possível? Vamos supor que eu não precise de uma resposta, só quero enviar uma solicitação. Não deveríamos conseguir alterar os cabeçalhos tcp / ip, porque o nosso computador o envia? Eu provavelmente estou sentindo falta de algo, apenas muito curioso, aprendendo sobre isso na uni.

    
por tmm 10.11.2014 / 11:09

2 respostas

20

Você pode usar o argumento -H/--header :

Você pode falsificar seu endereço IP:

curl --header "X-Forwarded-For: 192.168.0.2" http://example.com

Exemplo: em cliente

$ curl http://webhost.co.uk  

host da web

$ tailf access.log | grep 192.168.0.54   
192.168.0.54 - - [10/Nov/2014:15:56:09 +0000] "GET / HTTP/1.1" 200 14328 "-"   
"curl/7.19.7 (x86_64-redhat-linux-gnu) libcurl/7.19.7 NSS/3.14.0.0 zlib/1.2.3   
libidn/1.18 libssh2/1.4.2"

cliente com endereço IP alterado

$ curl --header "X-Forwarded-For: 192.168.0.99" http://webhost.co.uk   

host da web

$ tailf access.log | grep 192.168.0.99  
192.168.0.99 - - [10/Nov/2014:15:56:43 +0000] "GET / HTTP/1.1" 200  
14328 "-" "curl/7.19.7 (x86_64-redhat-linux-gnu) libcurl/7.19.7 NSS/3.14.0.0  
zlib/1.2.3 libidn/1.18 libssh2/1.4.2"  

homem curl

 -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:".

Referências:

Modify_method_and_headers

    
por 10.11.2014 / 11:27
3

Acho que a resposta aceita não ajudará você a falsificar seu IP até o fim. Você não pode realmente falsificar seu IP de origem, a menos que tenha acesso a roteadores próximos à máquina de destino.

O TCP funciona em um mecanismo de handshake de 3 vias. Você não conseguirá completar esse handshake, pois a resposta do handshake da máquina alvo irá para o seu IP falsificado e não para o seu (a menos que, como dito antes, você controle seus roteadores próximos e redirecione a resposta para si).

P.S .: Você pode enviar uma mensagem UDP, mas eu não tentei.

    
por 10.02.2017 / 05:02

Tags