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 高手之路(二)
Oct 09 PHP
PHP学习之字符串比较和查找
Apr 17 PHP
PHP下判断网址是否有效的代码
Oct 08 PHP
几个有用的php字符串过滤,转换函数代码
May 01 PHP
php+mysqli预处理技术实现添加、修改及删除多条数据的方法
Jan 30 PHP
PHP往XML中添加节点的方法
Mar 12 PHP
php判断用户是否手机访问代码
Jun 08 PHP
PHP云打印类完整示例
Oct 15 PHP
PHP编程实现多维数组按照某个键值排序的方法小结【2种方法】
Apr 27 PHP
PHP通过get方法获得form表单数据方法总结
Sep 12 PHP
PHP中的empty、isset、isnull的区别与使用实例
Mar 22 PHP
laravel-admin 实现在指定的相册下添加照片
Oct 21 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文件下载类
2006/12/06 PHP
Ajax PHP 边学边练 之三 数据库
2009/11/26 PHP
codeigniter自带数据库类使用方法说明
2014/03/25 PHP
phpmailer在服务器上不能正常发送邮件的解决办法
2014/07/08 PHP
php cookie中点号(句号)自动转为下划线问题
2014/10/21 PHP
PHP_SELF,SCRIPT_NAME,REQUEST_URI区别
2014/12/24 PHP
基于PHP生成简单的验证码
2016/06/01 PHP
php求今天、昨天、明天时间戳的简单实现方法
2016/07/28 PHP
PHP上传图片到数据库并显示的实例代码
2019/12/20 PHP
JavaScript 面向对象的 私有成员和公开成员
2010/05/13 Javascript
JS简单实现登陆验证附效果图
2013/11/19 Javascript
jquery使用ajax实现微信自动回复插件
2014/04/28 Javascript
js中iframe调用父页面的方法
2014/10/30 Javascript
Bootstrap3 模态框使用实例
2017/02/22 Javascript
微信小程序 两种为对象属性赋值的方式详解
2017/02/23 Javascript
php简单数据库操作类的封装
2017/06/08 Javascript
关于jQuery里prev()的简单操作代码
2017/10/27 jQuery
vue.js学习笔记之v-bind和v-on解析
2018/05/03 Javascript
javascript canvas检测小球碰撞
2020/04/17 Javascript
vue实现登录、注册、退出、跳转等功能
2020/12/23 Vue.js
[00:35]DOTA2上海特级锦标赛 Newbee战队宣传片
2016/03/03 DOTA
Python 正则表达式(转义问题)
2014/12/15 Python
Python实现求两个csv文件交集的方法
2017/09/06 Python
python XlsxWriter模块创建aexcel表格的实例讲解
2018/05/03 Python
python爬虫获取小区经纬度以及结构化地址
2018/12/30 Python
Django项目uwsgi+Nginx保姆级部署教程实现
2020/04/19 Python
2020版Python学习路线图(附学习资料)
2020/09/15 Python
分享30个新鲜的CSS3打造的精美绚丽效果(附演示下载)
2012/12/28 HTML / CSS
如何使用canvas绘制可移动网格的示例代码
2020/12/14 HTML / CSS
大学新生军训个人的自我评价
2013/10/03 职场文书
海南地接欢迎词
2014/01/14 职场文书
投标邀请书范文
2014/01/31 职场文书
《陈涉世家》教学反思
2014/04/12 职场文书
暑期培训班策划方案
2014/08/26 职场文书
学校2014年度工作总结
2014/12/06 职场文书
小学班主任研修日志
2015/11/13 职场文书