本文实例讲述了php采用curl实现伪造IP来源的方法。可以实现伪造IP来源, 伪造域名, 伪造用户信息,分享给大家供大家参考。具体实现方法如下:

定义伪造用户浏览器信息HTTP_USER_AGENT

$binfo =array('Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; .NET CLR 2.0.50727; InfoPath.2; AskTbPTV/5.17.0.25589; Alexa Toolbar)','Mozilla/5.0 (Windows NT 5.1; rv:22.0) Gecko/20100101 Firefox/22.0','Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; .NET4.0C; Alexa Toolbar)','Mozilla/4.0(compatible; MSIE 6.0; Windows NT 5.1; SV1)',$_SERVER['HTTP_USER_AGENT']);

//123.125.68.*

//125.90.88.*

定义伪造IP来源段,这里我找的是百度的IP地址

$cip = '123.125.68.'.mt_rand(0,254);

$xip = '125.90.88.'.mt_rand(0,254);

$header = array(

'CLIENT-IP:'.$cip,

'X-FORWARDED-FOR:'.$xip,

);

利用curl开始向服务器发送伪造信息

function getimgs( $url,$userinfo,$header)

{

$ch = curl_init();

$timeout = 5;

curl_setopt ($ch, CURLOPT_URL, "$url");

curl_setopt ($ch, CURLOPT_HTTPHEADER, $header);

curl_setopt ($ch, CURLOPT_REFERER, "http://www.baidu.com/");

curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);

curl_setopt ($ch, CURLOPT_USERAGENT, "$userinfo");

curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout);

$contents = curl_exec($ch);

curl_close($ch);

return $contents;

}

获取到数据我们再保存

function saveimgs( $handle )

{

$fp = fopen('a.jpg',"w");

fwrite($fp,$handle);

unset($fp);

unset($handle);

}

测试伪造IP实例

$url ='https://www.jb51.net/images/logo.gif';

$u = $binfo[mt_rand(0,3)];

saveimgs(getimgs($url,$u,$header));

这样就在你当前目录保存成功了一个文件a.jpg文件,我现可以查看服务器日志是不是我们自定的用户信息呢

192.168.1.108 - - [22/Jul/2013:10:29:37 +0800] "GET /test.php HTTP/1.1" 200 1244 "-" "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; .NET CLR 2.0.50727; InfoPath.2; AskTbPTV/5.17.0.25589; Alexa Toolbar)"

192.168.1.108 - - [22/Jul/2013:10:29:37 +0800] "GET / HTTP/1.1" 200 40538 "http://www.baidu.com/" "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; .NET4.0C; Alexa Toolbar)"

192.168.1.108 - - [22/Jul/2013:10:29:37 +0800] "GET /test.php HTTP/1.1" 200 1244 "-" "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; .NET CLR 2.0.50727; InfoPath.2; AskTbPTV/5.17.0.25589; Alexa Toolbar)"

192.168.1.108 - - [22/Jul/2013:10:29:37 +0800] "GET / HTTP/1.1" 200 40538 "http://www.baidu.com/" "Mozilla/5.0 (Windows NT 5.1; rv:22.0) Gecko/20100101 Firefox/22.0"

看出来了吧,完全正确啊,只是IP地址我怎么没测试出来,这个使用php获取ip地址时就会显示我伪造IP地址了。

希望本文所述对大家的PHP程序设计有所帮助。

curl php 模拟来源_php采用curl实现伪造IP来源的方法相关推荐

  1. curl php 模拟来源_php 使用curl模拟ip和来源进行访问的实现方法

    对于限制了ip和来源的网站,使用正常的访问方式是无法访问的.本文将介绍一种方法,使用php的curl类实现模拟ip和来源,访问那些限制了ip和来源的网站. 1.设置页面限制ip和来源访问 server ...

  2. curl/wget 模拟发送post请求

    curl/wget 模拟发送post请求 curl -H "这里是请求header信息" -X POST -d "这里是请求body体"  ip:port -O ...

  3. headerIP php_PHP使用curl伪造IP地址和header信息

    curl虽然功能强大,但是只能伪造$_SERVER["HTTP_X_FORWARDED_FOR"],对于大多数IP地址检测程序来说,$_SERVER["REMOTE_AD ...

  4. curl php 模拟来源_PHP cURL实现模拟登录与采集使用方法详解教程

    对于做过数据采集的人来说,cURL一定不会陌生.虽然在PHP中有file_get_contents函数可以获取远程链接的数据,但是它的可控制性太差了,对于各种复杂情况的采集情景,file_get_co ...

  5. Java模拟打开微信链接_PHP基于curl实现模拟微信浏览器打开微信链接的方法示例...

    本文实例讲述了PHP基于curl实现模拟微信浏览器打开微信链接的方法.分享给大家供大家参考,具体如下: 网络上没有可以直接打开微信的浏览器 但是我们可以模拟浏览器 微信浏览器的HTTP_USER_AG ...

  6. linux curl 命令模拟 http get post 请求

    get post 提交的数据 地址 和步骤 需要用使用 burpsuite 先获取 再使用curl模拟请求 通过get方法请求: curl protocol://address:port/url?ar ...

  7. 利用curl 多线程 模拟 并发的详解

    来源:http://www.jb51.net/article/38492.htm 首先,先了解下 php中的curl多线程函数: 复制代码代码如下: # curl_multi_add_handle # ...

  8. php 提取登录QQsid_php模拟登录qq邮箱(curl命令详解)

    header("Content-type:text/html;charset=utf-8"); $cookie_file = dirname(__FILE__)."/co ...

  9. php curl 模拟多线程,php利用curl 多线程 模拟 并发的详解

    php利用curl 多线程 模拟 并发的详解 发布于 2014-12-07 10:17:25 | 265 次阅读 | 评论: 0 | 来源: 网友投递 PHP开源脚本语言PHP(外文名: Hypert ...

  10. Linux curl 命令模拟 POST/GET 请求

    curl 命令,是一个利用URL规则在命令行下工作的文件传输工具. curl 支持文件的上传和下载,所以是综合传输工具,但按传统,习惯称curl为下载工具. 作为一款强力工具,curl支持包括HTTP ...

最新文章

  1. 赠书 | GNN 模型在生物化学和医疗健康中的典型应用
  2. 启动过程以及故障排除
  3. 我该如何学习spring源码以及解析bean定义的注册
  4. python 杂记(二)
  5. 首发:吴恩达的 CS229的数学基础(线性代数),有人把它做成了在线翻译版本!...
  6. 用文本指导文本:基于文本的自监督可控文本生成模型
  7. 自我引用(Self reference)
  8. spark学习-JavaRDD注册成表然后用SparkSQL查询
  9. 根据元素相对位置来控制滚动条
  10. 微服务架构下的数据一致性:概念及相关模式
  11. golangd 报错信息梳理
  12. 安装Scrapy失败的解决方法
  13. cocos creator 打包apk_Cocos Creator Android打包 apk
  14. UE4粒子渲染不出来解决方法
  15. 数据库系统之ANSI SQL中的事务处理
  16. Open Set Domain Adaptation by Backpropagation
  17. 用Unison实现数据的双向实时同步
  18. 【PyTorch】pkg_resources
  19. 弱口令总结(什么是弱口令)
  20. 我的世界服务器清垃圾文件,我的世界:五大处理“垃圾”方法,我选择懒人方法,你会如何选?...

热门文章

  1. 2022.3月份工作记录【日记】
  2. 【芯片使用】PCF8591
  3. python 强类型 弱类型_Python 到底是强类型语言,还是弱类型语言?
  4. 360路由器设置网段ip
  5. mysql默认字符核对_【sql查询与优化】5.使用字符串
  6. 王树尧老师运筹学课程笔记 02 高等数学基础
  7. Wow~70G上市公司定期报告数据集!
  8. 学神乔明达和他堪称神迹的学习履历
  9. Excel常用小技巧
  10. 笔记本和利用服务器算力直连,使用闲置服务器的CPU算力挖掘Monero—Windows篇