关于伪造ip的可行性

简介: 关于伪造ip的可行性

今晚,用curl进一个网站发现ip被限制访问了,然后我又开始了百度伪造请求ip的方法


关于php获取ip的函数 http://www.php20.cn/article/sw/ip/77


php一般用3个参数去判断ip


X_FORWARDED_FOR:获取http请求头X_FORWARDED_FOR属性

HTTP_CLIENT_IP : 获取http请求头ip  CLIENT-IP属性

REMOTE_ADDR :与服务器握手的客户端ip


理解了这3个参数之后,我百度了下curl伪造ip


image.png


然后我访问自己的网站的以下代码(本地局域网访问),

curl_setopt($curl, CURLOPT_HTTPHEADER, array('Content-Type:application/json; charset=utf-8;X-FORWARDED-FOR:111.222.333.4''CLIENT-IP:111.222.333.4'));

//上面这行是curl的,懒得写全,毕竟不在同一个文件

 

echogetenv('HTTP_CLIENT_IP'); 

echogetenv('HTTP_X_FORWARDED_FOR'); 

echogetenv('REMOTE_ADDR');

运行结果如下

image.png

不难发现,REMOTE_ADDR 是正确的ip,该ip是tcp协议握手时的客户端ip,是不能伪造的 而X_FORWARDED_FOR已经是返回了自定义的值


总结以下:

用户的真实ip是无法伪造的,因为不管怎么样,都得建立tcp连接,


除非不建立tcp连接,直接经过tcp第一次握手返回一个错误的ip,不接受服务器的返回数据,这样才可以伪装一次tcp握手请求,

在正常的一次tcp连接,ip永远无法被伪造,如果没有ip,tcp连接将不成立,服务器将无法与客户端建立连接,无法发送和获取客户端的数据


在这结论之中,移动端关于使用数据流量时,虽然能获取到用户的真实ip,但这个ip,是手机与运营商基站建立连接之后,运营商给基站不定时分配的ip,只要是用户连接上了这个基站,那么所有连接这个基站的用户ip都会相同


再然后,由于REMOTE_ADDR是获取握手ip,如果使用跳板(代理服务器.服务器设定的cdn等)访问,则获取到的是代理服务器和cdn节点服务器的真实ip,而非用户的真实ip,至于用户的真实ip,代理服务器,和cdn节点是可以获取的


有人可能会问,那用户通过跳板访问,能获取到真实ip吗?

答案是不行的,除非跳板做好事,给服务器返回客户端的真实ip;一般跳板会用http头的X-FORWARDED-FOR属性进行返回用户的真实ip,而会不会返回,这就是跳板的问题了


总而言之,只要经过tcp握手成功后,都不可能伪装ip,只能说通过跳板去变动ip,而这个变动ip,也是不能自定义的,这个ip也是ip协议上一个合法的ip


目录
相关文章
|
网络协议 Linux
网络协议与攻击模拟-04-实施ARP攻击与欺骗
网络协议与攻击模拟-04-实施ARP攻击与欺骗
128 1
网络协议与攻击模拟-04-实施ARP攻击与欺骗
|
网络协议 Linux 网络虚拟化
|
6月前
|
安全 PHP 数据安全/隐私保护
WAF攻防-菜刀&冰蝎&哥斯拉&流量通讯&特征绕过&检测反制&感知
WAF攻防-菜刀&冰蝎&哥斯拉&流量通讯&特征绕过&检测反制&感知
107 0
|
7月前
|
缓存 监控 网络协议
面对ARP攻击,怎么做好主机安全,受到ARP攻击有哪些解决方案
ARP攻击的具体原理主要是基于ARP(Address Resolution Protocol,地址解析协议)的漏洞进行欺骗和攻击。ARP协议是TCP/IP协议族中的一个重要协议,用于实现IP地址到MAC地址的映射。然而,由于ARP协议在设计时缺乏必要的安全验证机制,使得攻击者有机会进行欺骗和攻击。
|
7月前
|
Linux 网络安全 Windows
如何通过隐藏服务器真实IP来防御DDOS攻击
如何通过隐藏服务器真实IP来防御DDOS攻击
|
安全 网络架构
DHCP欺骗实验操作及防护措施
DHCP欺骗实验操作及防护措施
244 0
|
Web App开发 安全 JavaScript
WebRTC 真实IP泄露防范
很多人可能误以为使用代理就可以完全隐藏我们的真实IP地址,但实际并不总是这样。
266 0
|
网络协议 数据安全/隐私保护
|
网络协议 缓存 安全
《DNS攻击防范科普系列4》--遭遇DNS缓存投毒该怎么办?
        在《DNS攻击防范科普系列》的前几讲中,我们介绍了常见的DNS攻击、以及防范DDoS攻击、保障操作安全的方法。今天我们给大家带来的是对DNS缓存投毒攻击的防范。首先我们先来说说什么是“DNS缓存投毒”。
|
缓存 网络协议 安全