curl伪造IP

前言

一朋友想访问一个网站,发现进一个论坛必须推广链接地址,也就是需要20个不同的ip进行访问,呵呵,这多丢人,为了帮伙计一下,果断用上curl

原理

(1)整理一份ip库出来,网上google一下一大片

(2)修改CURLOPT_HTTPHEADER字段,设置X-FORWARD-FOR和CLIENT-IP字段


整理IP库

我网上随便找了一个链接: http://www.56ads.com/article/201201/16304.html (ps:蛋疼的链接)

我把网址里的东西拷贝到txt文件里,然后sed和awk处理了一下,分享一下我的awk处理脚本

#!/bin/awk -f

#运行前
BEGIN {
	FS = " ";
	count = 0;
}

#运行中
{
	iparr[count ++] = $0;
}

#运行后
END {
	printf(" '%s',\n", iparr[i], iparr[i]);
	}
	printf(");\n");
}


CURL使用

 $cip) {
    
    $ch = curl_init();
    
    curl_setopt($ch, CURLOPT_URL, $req_url);
    curl_setopt($ch, CURLOPT_HTTPHEADER, array(
            "X-FORWARDED-FOR:$forward",
            "CLIENT-IP:$cip"
    ));
    curl_setopt($ch, CURLOPT_REFERER, 'http://blog.csdn.net/');
    curl_setopt($ch, CURLOPT_HEADER, 1);
    
    curl_exec($ch);
    
    curl_close($ch);
}

缺陷

很多服务器端一般都采用了$_SERVER['REMOTE_ADDR']来获取客户端的真实ip,这是在传输层就已经决定的地址,无法通过CURL进行修改,好吧,貌似我也没帮朋友做成功这件事情,不过还是记录一下

你可能感兴趣的:(php)