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("<?php\n");
	printf("$iparr = array(\n");
	for (i = 0; i < count; i ++) {
		printf("'%s' => '%s',\n", iparr[i], iparr[i]);
	}
	printf(");\n");
}


CURL使用

<?php
require_once dirname(__FILE__) . "/iplib.php";

$req_url = "test.com";

foreach ($iparr as $forward => $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进行修改,好吧,貌似我也没帮朋友做成功这件事情,不过还是记录一下
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值