ip地址现在是非常重要的判断用户唯一性的方法,很多网络投票还有一些唯一性要求较高的场合都用ip地址作为主要判断依据。但我经常在网上听见有人说伪造ip地址来刷票,ip地址能够伪造吗,它又是什么原理呢?是需要在TCP/IP协议上做手脚吗?
ip地址现在是非常重要的判断用户唯一性的方法,很多网络投票还有一些唯一性要求较高的场合都用ip地址作为主要判断依据。但我经常在网上听见有人说伪造ip地址来刷票,ip地址能够伪造吗,它又是什么原理呢?是需要在TCP/IP协议上做手脚吗?
伪造这个词应该是修改数据包,而不是使用代理。
TCP无法伪造IP,因为需要三次握手,比较安全;
UDP可以伪造,但是由于伪造攻击很多,部分机房再路由上做了过滤,原地址不是机房的IP的数据包自动丢弃;
不过很多监管不严的机房里还是可以伪造的;
IP地址伪造是可以发送但是不能回得来,因为在来的数据包的IP地址是伪造的请求的IP地址,自然数据包是收不到的,也就是说只能发送不能接收,上层的是TCP协议是面向连接的不能够伪造,UDP可以伪造。但是都是同样的只能发送不能收取,除非使用IP源路由协议,不过很多网络设备因为安全性考虑都禁用了。
仅从协议上看应用是对真实的(被用作路由的) IP 无感知, 因为数据包在协议栈中上升到 TCP 层就已经把 IP 地址给剥除了, 更不用说最上层的 HTTP 协议了. 所以自以为取到数据包的 SourceIP 的其实都是从 HTTP 头中取出来的. 这个数据是可以被轻易篡改的.
曾经做过刷票的功能,本来想找代理服务器来刷的,但是一时找不到大量的代理,所以就把电脑直连ADSL,通过java调用cmd执行网络连接、断开命令。每断开重连一次就获得一个新IP,当然有失败也有重复,但是10秒做一次成功率就比较高了。缺点是可能小区分配的IP段有限,同时速度比较慢
2 回答2.2k 阅读✓ 已解决
677 阅读
就我所知,真正的ip地址不能伪造,可是一些http header头是可以伪造的.
以http_开头都可以伪造.
有些程序会"多此一举"的判断客户端是否通过代理访问网站.
http://segmentfault.com/q/10100000000...
以致于会有你说的 "伪造ip地址来刷票".