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开发框架总结收藏
Apr 24 PHP
php mssql 数据库分页SQL语句
Dec 16 PHP
php生成随机密码的几种方法
Jan 17 PHP
php小技巧 把数组的键和值交换形成了新的数组,查找值取得键
Jun 02 PHP
PHP判断图片格式的七种方法小结
Jun 03 PHP
PHP mail()函数使用及配置方法
Jan 14 PHP
jquery+php+ajax显示上传进度的多图片上传并生成缩略图代码
Oct 15 PHP
php实现阳历阴历互转的方法
Oct 28 PHP
CodeIgniter表单验证方法实例详解
Mar 03 PHP
PHP动态生成指定大小随机图片的方法
Mar 25 PHP
常用PHP数组排序函数归纳
Aug 08 PHP
Laravel 读取 config 下的数据方法
Oct 13 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 进程锁定问题分析研究
2009/11/24 PHP
几款免费开源的不用数据库的php的cms
2010/12/19 PHP
PHP利用header跳转失效的解决方法
2014/10/24 PHP
win平台安装配置Nginx+php+mysql 环境
2016/01/12 PHP
php resizeimage 部分jpg文件 生成缩略图失败的原因分析及解决办法
2016/03/23 PHP
Laravel实现搜索的时候分页并携带参数
2019/10/15 PHP
jQuery 常见操作实现方式和常用函数方法总结
2011/05/06 Javascript
基于jquery点击自以外任意处,关闭自身的代码
2012/02/10 Javascript
两种常用的javascript数组去重方法思路及代码
2013/03/26 Javascript
判断滚动条到底部的JS代码
2013/11/04 Javascript
无刷新上传文件并返回自定义值
2015/06/11 Javascript
javascript实现网页中涉及的简易运动(改变宽高、透明度、位置)
2015/11/29 Javascript
angular写一个列表的选择全选交互组件的示例
2018/01/22 Javascript
Angular中sweetalert弹框的基本使用教程
2018/07/22 Javascript
vue实现微信分享功能
2018/11/28 Javascript
Element中的Cascader(级联列表)动态加载省\市\区数据的方法
2019/03/27 Javascript
Elasticsearch实现复合查询高亮结果功能
2019/09/10 Javascript
javascript json对象小技巧之键名作为变量用法分析
2019/11/11 Javascript
vue 更改连接后台的api示例
2019/11/11 Javascript
vue print.js打印支持Echarts图表操作
2020/11/13 Javascript
video.js添加自定义组件的方法
2020/12/09 Javascript
[02:31]《DAC最前线》之选手酒店现场花絮
2015/01/30 DOTA
[00:31]DOTA2荣耀之路7:Miracle-空血无敌斩
2018/05/31 DOTA
python实现系统状态监测和故障转移实例方法
2013/11/18 Python
Python虚拟环境virtualenv的安装与使用详解
2017/05/28 Python
详解Python异常处理中的Finally else的功能
2017/12/29 Python
将Dataframe数据转化为ndarry数据的方法
2018/06/28 Python
Django Channels 实现点对点实时聊天和消息推送功能
2019/07/17 Python
Python新手学习函数默认参数设置
2020/06/03 Python
HTML5中的音频和视频媒体播放元素小结
2016/01/29 HTML / CSS
英国最大的户外商店:Go Outdoors
2019/04/17 全球购物
研修心得体会
2014/09/04 职场文书
学校领导班子对照检查材料
2014/09/24 职场文书
大学校园餐饮创业计划书
2019/08/07 职场文书
python实现的web监控系统
2021/04/27 Python
Python下opencv库的安装过程及问题汇总
2021/06/11 Python