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 函数学习简单小结
Jul 08 PHP
php 中英文语言转换类
Sep 07 PHP
Zend Framework页面缓存实例
Jun 25 PHP
PHP连接MSSQL时nvarchar字段长度被截断为255的解决方法
Dec 25 PHP
php操作xml入门之xml基本介绍及xml标签元素
Jan 23 PHP
PHP保存带BOM文件的方法
Feb 12 PHP
php中序列化与反序列化详解
Feb 13 PHP
php版本CKEditor 4和CKFinder安装及配置方法图文教程
Jun 05 PHP
php use和include区别总结
Oct 13 PHP
详解laravel passport OAuth2.0的4种模式
Nov 04 PHP
通过实例解析PHP数据类型转换方法
Jul 11 PHP
PHP7 list() 函数修改
Mar 09 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仿ZOL分页类代码
2008/10/02 PHP
php URL编码解码函数代码
2009/03/10 PHP
学习php设计模式 php实现单例模式(singleton)
2015/12/07 PHP
PHP7 新特性详细介绍
2016/09/06 PHP
基于jQuery的消息提示插件 DivAlert之旅(二)
2010/04/01 Javascript
JavaScript中SQL语句的应用实现
2010/05/04 Javascript
JS取request值以及自动执行使用示例
2014/02/24 Javascript
js 采用delete实现继承示例代码
2014/05/20 Javascript
jQuery常用操作方法及常用函数总结
2014/06/19 Javascript
用原生js做个简单的滑动效果的回到顶部
2014/10/15 Javascript
JavaScript跨域方法汇总
2014/10/16 Javascript
基于jQuery仿淘宝产品图片放大镜特效
2020/10/19 Javascript
ionic2 tabs使用 Modal底部tab弹出框
2016/12/30 Javascript
vue.js2.0点击获取自己的属性和jquery方法
2018/02/23 jQuery
vue App.vue中的公共组件改变值触发其他组件或.vue页面监听
2019/05/31 Javascript
封装微信小程序http拦截器过程解析
2019/08/13 Javascript
Vue.js 无限滚动列表性能优化方案
2019/12/02 Javascript
jQuery使用ajax传递json对象到服务端及contentType的用法示例
2020/03/12 jQuery
Element-ui 自带的两种远程搜索(模糊查询)用法讲解
2021/01/29 Javascript
[01:36:57]【09DOTA2第一视角】小骷髅
2014/04/16 DOTA
使用python检测手机QQ在线状态的脚本代码
2013/02/10 Python
Python实现简单登录验证
2016/04/13 Python
Python网络爬虫项目:内容提取器的定义
2016/10/25 Python
python中pandas.DataFrame排除特定行方法示例
2017/03/12 Python
Python使用asyncio包处理并发详解
2017/09/09 Python
python实现数据预处理之填充缺失值的示例
2017/12/22 Python
使用pandas批量处理矢量化字符串的实例讲解
2018/07/10 Python
Python 写了个新型冠状病毒疫情传播模拟程序
2020/02/14 Python
护士专业推荐信
2013/11/02 职场文书
我爱我家教学反思
2014/05/01 职场文书
2014年班干部工作总结
2014/11/25 职场文书
2015年家长学校工作总结
2015/04/22 职场文书
基于JavaScript实现年月日三级联动
2021/06/22 Javascript
TV动画《神废柴☆偶像》公布先导PV
2022/03/20 日漫
「SHOW BY ROCK!!」“雫シークレットマインド”组合单曲MV公开
2022/03/21 日漫
SpringBoot整合minio快速入门教程(代码示例)
2022/04/03 Java/Android