python 可以伪造 ip 发送 http 请求吗?

2016-07-29 17:19:03 +08:00
 xinali
17591 次点击
所在节点    Python
32 条回复
gefranks
2016-07-29 23:47:35 +08:00
这种伪造的包很有可能被一些路由直接丢弃,因为包的源不认识,这些包也不会被路由
redsonic
2016-07-30 00:23:08 +08:00
撇开 TCP 三次握手,很早之前的 BGP 接入都可以伪源 ip 发包,后来 DDos 多了,运营商都按照 BCP38 来过滤源了。
3dwelcome
2016-07-30 00:51:07 +08:00
三次握手、在第二个阶段模拟服务器返回伪造 ip 包和地址是完全可行的。但我没试过第三次客户端伪造源地址后、能否建立连接。

也许可行、但这样就属于普通的 ddos 把服务器资源耗完的范畴、并不能传送数据。
Mark3K
2016-07-30 01:08:50 +08:00
scapy
xieyudi1990
2016-07-30 03:41:40 +08:00
如果说是 ip 包头那种,用 raw socket 试一下就好。不过我没试过,我估计 isp 没那么傻。
如果是 http 里那个 x-forward-for ,我试过。 cnbeta 可以用这个刷票。
infun
2016-07-30 07:43:26 +08:00
以前某文献库是读 headers 的,然后 h 就嘿嘿嘿
qingchn
2016-07-30 11:39:39 +08:00
伪造 IP 有点难度,变通一下,使用代理。
em70
2016-07-30 11:56:32 +08:00
如果能伪造 IP,哪些卖肉鸡卖代理的不就饿死了,存在即是合理
jackyspy
2016-07-30 12:24:58 +08:00
scapy ,想怎么玩就怎么玩
jackyspy
2016-07-30 12:26:50 +08:00
刚看错问题了。 tcp 无法伪造 ip ,除非你在某个核心网节点上。
可以通过代理访问 http 达到你要的效果。
pyufftj
2017-12-27 15:58:20 +08:00
@jackyspy 那局域网中可以吗。
zlun26981
2018-02-21 19:33:15 +08:00
假设你是想在本地一台主机伪造多个 IP,然后通过 http 访问互联网一台服务器,让服务器觉得是有多台不同主机 /IP 来访问它。这个需求就有点 DDoS 的味道了。

在网络层面你需要考虑三个问题:
1.伪造完 IP,假设伪造 IP 与网关不在同一网段,这个数据包怎么送到出口路由器?
2.就算数据已经送到出口路由器,出口路由器会将源 IP 做地址转换( NAT ),再送出互联网,那么这个数据包送到目标服务器,其源 IP 还是一个。
3.无法完成 TCP 三次握手,你用伪造源 IP 给目标服务器发送 TCP_SYN,目标服务器给你所伪造的源 IP 对应的真实主机回 TCP_SYN-ACK,真实主机莫名其妙收到这个 SYN-ACK 是不会回复 TCP_ACK 的。

我个人还是比较认同楼上有人提出使用代理的方案。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/295829

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX