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 相关文章推荐
WINDOWS 2000下使用ISAPI方式安装PHP
Sep 05 PHP
PHP数据库操作面向对象的优点
Oct 09 PHP
PHP生成静态页面详解
Dec 05 PHP
PHP面向对象概念
Nov 06 PHP
PHP仿博客园 个人博客(1) 数据库与界面设计
Jul 05 PHP
解决file_get_contents无法请求https连接的方法
Dec 17 PHP
PHP面向对象编程之深入理解方法重载与方法覆盖(多态)
Dec 24 PHP
PHP导出Excel实例讲解
Jan 24 PHP
PHP strip_tags保留多个HTML标签的方法
May 22 PHP
php使用ffmpeg向视频中添加文字字幕的实现方法
May 23 PHP
PHP数据源架构模式之表入口模式实例分析
Jan 23 PHP
php7 list()、session及其他模块的修改实例分析
May 25 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 disk_free_space 返回目录可用空间
2010/05/10 PHP
探讨PHP函数ip2long转换IP时数值太大产生负数的解决方法
2013/06/06 PHP
如何使用PHP批量去除文件UTF8 BOM信息
2013/08/05 PHP
PHP捕获Fatal error错误的方法
2014/06/11 PHP
从零开始学YII2框架(五)快速生成代码工具 Gii 的使用
2014/08/20 PHP
Yii2 rbac权限控制之rule教程详解
2016/06/23 PHP
TP5框架页面跳转样式操作示例
2020/04/05 PHP
javascript 图片上一张下一张链接效果代码
2010/03/12 Javascript
IE6、IE7中setAttribute不支持class/for/rowspan/colspan等属性
2011/08/28 Javascript
jquery实现的省市区三级联动
2015/04/02 Javascript
js基于cookie记录来宾姓名的方法
2016/07/19 Javascript
基于jQuery实现表格的排序
2016/12/02 Javascript
微信小程序上滑加载下拉刷新(onscrollLower)分批加载数据(一)
2017/05/11 Javascript
jQuery remove()过滤被删除的元素(推荐)
2017/07/18 jQuery
vue中v-model动态生成的实例详解
2017/10/27 Javascript
r.js来合并压缩css文件的示例
2018/04/26 Javascript
vue+echarts+datav大屏数据展示及实现中国地图省市县下钻功能
2020/11/16 Javascript
Python实现从订阅源下载图片的方法
2015/03/11 Python
使用Python脚本和ADB命令实现卸载App
2017/02/10 Python
Python实现视频下载功能
2017/03/14 Python
Python绘制KS曲线的实现方法
2018/08/13 Python
Python实现的线性回归算法示例【附csv文件下载】
2018/12/29 Python
解决安装pyqt5之后无法打开spyder的问题
2019/12/13 Python
使用Python串口实时显示数据并绘图的例子
2019/12/26 Python
用python批量下载apk
2020/12/29 Python
详解Python调用系统命令的六种方法
2021/01/28 Python
conda安装tensorflow和conda常用命令小结
2021/02/20 Python
巧克力领导品牌瑞士莲美国官网:Lindt Chocolate美国
2016/08/25 全球购物
大学生学业生涯规划
2014/01/05 职场文书
五星级酒店餐饮部总监的标准岗位职责
2014/02/17 职场文书
家电业务员岗位职责
2014/03/10 职场文书
鼋头渚导游词
2015/02/05 职场文书
2016年学校禁毒宣传活动工作总结
2016/04/05 职场文书
Python爬虫之爬取二手房信息
2021/04/27 Python
Python可视化学习之seaborn绘制矩阵图详解
2022/02/24 Python
如何利用python实现Simhash算法
2022/06/28 Python