php采用curl实现伪造IP来源的方法


Posted in PHP onNovember 21, 2014

本文实例讲述了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://3water.com/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程序设计有所帮助。

PHP 相关文章推荐
透析PHP的配置文件php.ini
Oct 09 PHP
不用数据库的多用户文件自由上传投票系统(3)
Oct 09 PHP
PHP 服务器配置(使用Apache及IIS两种方法)
Jun 01 PHP
php调用mysql数据 dbclass类
May 07 PHP
初品cakephp 入门基础
Feb 16 PHP
php标签云的实现代码
Oct 10 PHP
PHP下获取上个月、下个月、本月的日期(strtotime,date)
Feb 02 PHP
php获取网站百度快照日期的方法
Jul 29 PHP
PHP实现的简单缓存类
Jul 29 PHP
WordPress过滤垃圾评论的几种主要方法小结
Jul 11 PHP
php foreach如何跳出两层循环(详解)
Nov 05 PHP
PHP如何获取Cookie并实现模拟登录
Jul 16 PHP
php文件缓存类汇总
Nov 21 #PHP
php实现事件监听与触发的方法
Nov 21 #PHP
PHP通过内置函数memory_get_usage()获取内存使用情况
Nov 20 #PHP
IIS下PHP的三种配置方式对比
Nov 20 #PHP
PHP程序员常见的40个陋习,你中了几个?
Nov 20 #PHP
php目录遍历函数opendir用法实例
Nov 20 #PHP
php中base_convert()进制数字转换函数实例
Nov 20 #PHP
You might like
php pki加密技术(openssl)详解
2013/07/01 PHP
PHP中使用memcache存储session的三种配置方法
2014/04/05 PHP
Ubuntu12下编译安装PHP5.3开发环境
2015/03/27 PHP
PHP实现上传图片到 zimg 服务器
2016/10/19 PHP
Jquery提交表单 Form.js官方插件介绍
2012/03/01 Javascript
js实现全屏漂浮广告移入光标停止移动
2013/12/02 Javascript
input标签内容改变的触发事件介绍
2014/06/18 Javascript
JavaScript基于setTimeout实现计数的方法
2015/05/08 Javascript
Jquery结合HTML5实现文件上传
2015/06/25 Javascript
js实现二级菜单渐隐显示
2015/11/03 Javascript
JS组件系列之Bootstrap table表格组件神器【二、父子表和行列调序】
2016/05/10 Javascript
浅析Node.js实现HTTP文件下载
2016/08/05 Javascript
简单实现jQuery上传图片显示预览功能
2020/06/29 jQuery
详解最新vue-cli 2.9.1的webpack存在问题
2017/12/16 Javascript
JavaScript基于面向对象实现的猜拳游戏
2018/01/03 Javascript
微信小程序WebSocket实现聊天对话功能
2018/07/06 Javascript
详解一个基于套接字实现长连接的express
2019/03/28 Javascript
vue 地图可视化 maptalks 篇实例代码详解
2019/05/21 Javascript
Vue防止白屏添加首屏动画的实例
2019/10/31 Javascript
vue-router为激活的路由设置样式操作
2020/07/18 Javascript
[43:36]Liquid vs Mineski 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
Python命令启动Web服务器实例详解
2017/02/23 Python
使用python实现ANN
2017/12/20 Python
TensorFlow实现非线性支持向量机的实现方法
2018/04/28 Python
解决python3.5 正常安装 却不能直接使用Tkinter包的问题
2019/02/22 Python
解决Pycharm后台indexing导致不能run的问题
2019/06/27 Python
Python 里最强的地图绘制神器
2021/03/01 Python
让IE下支持Html5的placeholder属性的插件
2014/09/02 HTML / CSS
泰国折扣酒店预订:Hotels2Thailand
2018/03/20 全球购物
篝火晚会主持词
2014/03/25 职场文书
国旗下的讲话演讲稿
2014/05/08 职场文书
启动仪式策划方案
2014/06/14 职场文书
委托书如何写
2014/08/30 职场文书
2015小学教师年度考核工作总结
2015/05/12 职场文书
中学后勤工作总结2015
2015/07/22 职场文书
在Python中如何使用yield
2021/06/07 Python