微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

PHP中使用curl伪造IP的简单方法

curl简介:

curl是一个利用URL语法在命令行方式下工作的文件传输工具。它支持很多协议:FTP,FTPS,HTTP,HTTPS,GOPHER,TELNET,DICT,FILE 以及 LDAP。curl同样支持HTTPS认证,HTTP POST方法,HTTP PUT方法,FTP上传,HTTP上传,代理服务器,cookies,用户名/密码认证,下载文件断点续传等等,功能十分强大。 PHP中常用curl实现的功能: 1、实现远程获取和采集内容 2、实现PHP 网页版的FTP上传下载 3、实现模拟登陆 4、实现接口对接(API),数据传输等 5、实现模拟Cookie等

PHP使用CURL功能

认情况下PHP不支持CURL功能的,需要在PHP.ini中开启该功能

rush:plain;"> ; extension= php_curl.dll//首先去除前面的;分号,并重启Apache/IIS

使用curl伪造IP

我找到的IP拷贝到txt文件里,然后sed和awk处理了一下,分享一下我的awk处理脚本:

rush:bash;"> #!/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使用

<div class="jb51code">
<pre class="brush:PHP;">
<?php
require_once dirname(FILE) . "/iplib.php";

$req_url = "test.com";

foreach ($iparr as $forward => $cip) {

$ch = curl_init(); 

curl_s<a href="https://www.jb51.cc/tag/eto/" target="_blank" class="keywords">eto</a>pt($ch,CURLOPT_URL,$req_url); 
curl_s<a href="https://www.jb51.cc/tag/eto/" target="_blank" class="keywords">eto</a>pt($ch,CURLOPT_HTTPHEADER,array( 
    "X-FORWARDED-FOR:$forward","CLIENT-IP:$cip" 
)); 
curl_s<a href="https://www.jb51.cc/tag/eto/" target="_blank" class="keywords">eto</a>pt($ch,CURLOPT_REFERER,'http://blog.csdn.net/'); 
curl_s<a href="https://www.jb51.cc/tag/eto/" target="_blank" class="keywords">eto</a>pt($ch,CURLOPT_HEADER,1); 

curl_exec($ch); 

curl_close($ch); 

}

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐