如何伪造IP(转)
要明白伪装IP的原理,首先要回顾一下TCP的三次握手。
总所周知在链接初始化的阶段,
需要一次三次握手来建立链接,
之后客户端和服务端会依据初始的这个IP地址来通信。
从这个角度上来说,
想真正的伪装一个IP地址是不可能的。
因为即使从链路层把IP地址改了,
后续发出去的请求也回不来,
除非你只是想用来作为DDOS攻击,要不没什么意义。
所以要另辟蹊径。
代理转发规则
用过代理吧?
不管是VPN,还是局域网代理,
都是通过代理服务器转发客户端的消息到服务端。
这里就引出主角,一个在 Header里的字段
X-Forwarded-For,
很多地方简称 XFF。
XFF不是一个标准的HTTP协议,
但是它被广泛接受用作于标识代理转发的规则。
通常一个 XFF字段会像下面这样,
javascript
X-Forwarded-For: 127.0.0.1, IP2, ..., IP N
从左到右,
依次记录的是距离服务器距离远的代理服务器的IP。
通过这个字段,
服务端就能知道这个请求是通过哪些代理转发过来的了。
而有些服务端的bug在于,
他们不再关心这个请求的原始地址,而只关心最后那个转发给他的 IP N的代理。
正常来说,
应该把三次握手的 IP 作为 Remote IP记录,
以这个为客户端的唯一 IP,这样才是准确的。
实现
说了那么多理论,
下面来看看如何使用这个 XFF字段。
首先我们用 postman 模拟一个 HTTP 请求,看看返回的字段里携带的客户端信息是怎样的。
这里随意找了个服务器发了个模拟请求,
下面的 device字段不仅包含了 IP 地址,也包括了经纬度。
然后我们再人为的添加上 XFF 字段,
看看 device信息变成了什么。
看到了吗,
现在已经变成了一个假的位置。
伪造IP的技术实现方案
假设说你想伪造的是自己的app,
那么就简单的多了,只要在每个 http 请求的header里加上 XFF字段就可以。
如果是第三方app,
或者是你不想用侵入式的方法去修改 header的话,
可以考虑用 Xposed 框架来做这件事情。
---------------------
原文:https://blog.csdn.net/weixin_42063726/article/details/80402207
如何伪造IP(转)的更多相关文章
- PHP用curl伪造IP和来源
以前没有这么搞过. 今天群里一个朋友在问这个问题. 查了下,CURL确实很强悍的可以伪造IP和来源. 1.php 请求 2.php . 1.php代码: $ch = curl_init(); curl ...
- 【转】php curl 伪造IP来源的实例代码
curl发出请求的文件fake_ip.php: 代码 复制代码 代码如下: <?php $ch = curl_init(); $url = "http://localhost/targ ...
- php curl 伪造IP来源的代码分享
php curl 可以模仿用户登录,还可以模仿用户IP地址.伪造IP来源. 1,curl发出请求的文件fake_ip.php: <?php $ch = curl_init(); $url = & ...
- PHP用CURL或fsockopen伪造IP和来路(referer)
URL是一个利用URL语法规定来传输文件和数据的工具,支持很多协议,如HTTP.FTP.TELNET等.最爽的是,PHP也支持 CURL库. 我们可以用CURL来伪造IP和来路,例子:1.php 请求 ...
- 实验吧 貌似有点难 伪造ip
解题链接: http://ctf5.shiyanbar.com/phpaudit/ 解答: 点击View the source code —>代码显示IP为1.1.1.1即可得到KEY—> ...
- php curl 伪造IP来源的实例代码
来源:http://www.jb51.net/article/31694.htm curl 它不但可以模仿用户登录,还可以模仿用户IP地址哦,为伪造IP来源,本实例仅供参考哦 //伪造ip ; $i ...
- PHP获取IP地址的方法,防止伪造IP地址注入攻击
PHP获取IP地址的方法 /** * 获取客户端IP地址 * <br />来源:ThinkPHP * <br />"X-FORWARDED-FOR" 是代理 ...
- C# 用HttpWebRequest模拟一个虚假的IP伪造ip
有人会说:IP验证是在TCP层完成的,不是HTTP层完成的,如果伪造IP的话可能连TCP的三次握手都完不成.我这里说的不是完全意义的伪造.如果你使用透明代理上网,那么在透明代理发送给服务器端的HTTP ...
- [浪风推荐]CURL伪造IP和来源
给“刷票”的朋友提供了很好的换IP的方案,查了下,CURL确实很强悍的可以伪造IP和来源. 1.php 请求 2.php . 1.php代码: $ch = curl_init(); curl_seto ...
随机推荐
- C# 绘制PDF图形——基本图形、自定义图形、色彩透明度
引言 在PDF中我们可以通过C#程序代码来添加非常丰富的元素来呈现我们想要表达的内容,如绘制表格.文字,添加图形.图像等等.在本篇文章中,我将介绍如何在PDF中绘制图形,并设置图形属性的操作. 文章中 ...
- C# 创建EXCEL图表并保存为图片
数据表格能够清晰的呈现数据信息,但是我们对于一些繁杂多变的数据想要很直观的看到数据变化走势或者数据的占比时,数据图表会更具代表性,并且在呈现数据信息上也更形象,也能获取更多纯数字信息所不能直接展现的信 ...
- Spring Boot 整合 docker
一.什么是docker ? 简介 Docker是一个开源的引擎,可以轻松的为任何应用创建一个轻量级的.可移植的.自给自足的容器.开发者在笔记本上编译测试通过的容器可以批量地在生产环境中部署,包括VMs ...
- Spring Cloud Alibaba Nacos 入门
概览 阿里巴巴在2018年7月份发布Nacos, Nacos是一个更易于构建云原生应用的动态服务发现.配置管理和服务管理平台.并表示在6-8个月完成到生产可用的0.8版本,目前版本是0.9版本. Na ...
- 如何用java控制你的电脑?
用java控制你的电脑 java,是一门强大的语言,强大的地方在于有很多类,我们可以直接的使用.而java.awt.Robot就很有意思了,顾名思义robot机器人,怎样一个机器法,如:控制鼠标方法: ...
- Android WebView的HTML中的select标签不起作用
Android WebView的HTML中的select标签不起作用 经过查询资料,了解到android对html里的select标签是弹出一个原生的选择器. 问题: Webview中的select没 ...
- Android为TV端助力linux命令
从命令行push到系统目录,用户组是root,而代码里面的是个人用户组,所以要把你push进去的东西改成跟你APK一样的用户组,并且chmod -R 777 文件名修改文件的权限 修改用户组chown ...
- Android远程桌面助手(Build 0737)
Android Remote Displayer and Controller Build 0737, Aug 02, 2017 新增功能: 录制MP4文件,突破了Android原生180S的限制 截 ...
- Android + https 实现 文件上传
package com.example.wbdream.zigvine; import android.annotation.SuppressLint; import android.app.Acti ...
- JS中简单的二级城市联动
代码奉上: <!DOCTYPE html><html><head> <meta charset="UTF-8"> < ...