我从某个朋友那里听说我们可以使用 HTTP_X_FORWARDED_FOR 在 Curl 中欺骗我们的 IP 地址,所以我决定对其进行测试,并创建三个文件一个来发送 Curl:
<?php
$ip = '1.1.1.1';
$url = "http://127.0.0.1/mydir/getdata.php";
$options = array (
CURLOPT_CONNECTTIMEOUT => 1, // timeout on connect
CURLOPT_TIMEOUT => 1, // timeout on response
CURLOPT_MAXREDIRS => 1 ,
CURLOPT_HTTPHEADER => array("REMOTE_ADDR: $ip", "HTTP_X_FORWARDED_FOR: $ip"),
CURLOPT_URL => $url ,
);
$ch = curl_init();
curl_setopt_array ( $ch, $options );
print_r("+");
$result = curl_exec($ch);
curl_close($ch);
?>
一种获取和保存数据:
<?php
$file = 'ip.txt';
$ipaddress = $_SERVER["REMOTE_ADDR"] .'\n';
file_put_contents($file, $ipaddress, FILE_APPEND );
?>
和一个查看 IP 地址,如您所见的“ip.txt”。
但问题是我在 ip.txt 中得到的只是 '127.0.0.1' 并且没有欺骗 ip !
如果这根本不起作用,解决方案是什么?
更新:
我发现了这个:
不,libcurl 的运行水平比它更高。此外,伪造IP地址意味着发送带有虚构源地址的IP包,然后您通常会遇到拦截发回的包的问题,因为它们不会被路由给您!
那么如何测试具有不同 IP 地址的网页呢?
我有一些编程语言 python 的经验,它可以发送一个带有欺骗 IP 地址的数据包,但问题是,它不能完全创建 TCP 三向握手过程,主网站理解它。