欺骗HTTP请求的始发IP地址

Cor*_*erg 22 python sockets networking http urllib2

这只需要在单个子网上工作,不得恶意使用.

我有一个用Python编写的负载测试工具,它基本上会在URL上发出HTTP请求.我需要针对基于IP的负载均衡器运行性能测试,因此请求必须来自一系列IP.大多数商业性能工具都提供此功能,但我想将其构建到我自己的工具中.

该工具使用Python的urllib2进行传输.是否可以为构成请求的数据包发送带有欺骗IP地址的HTTP请求?

Unk*_*own 46

这是对HTTP的误解.HTTP协议基于TCP.TCP协议依赖于3次握手来初始化请求.

alt text http://upload.wikimedia.org/wikipedia/commons/archive/c/c7/20051221162333!300px-Tcp-handshake.png

毋庸置疑,如果您欺骗原始IP地址,您将永远不会超过同步阶段,也不会发送任何HTTP信息(服务器无法将其发送给合法主机).

如果您需要测试IP负载均衡器,则不是这样做的.

  • 我不知道LoadRunner是什么,但我的猜测是他们使用NAT,这需要对原始数据包进行低级访问,这会直接重写传入的源数据包和出站目标数据包.为此,您可能必须安装PCAP http://en.wikipedia.org/wiki/Pcap.但我警告你,它并不像使用urllib2那么容易.另一方面,看到有多少人不知道他们在谈论什么,我也很有趣,我已经两次被投票. (10认同)

Gle*_*ard 5

您想要设置用于连接的源地址.谷歌搜索"urllib2源地址"给出http://bugs.python.org/file9988/urllib2_util.py.我没试过.

您运行的系统需要配置您正在测试的IP.


Ant*_*ony 5

请注意,正如我昨天刚刚学到的那样:

我想你已经暗示你已经知道了,但是对HTTP请求的任何响应都会转到标题中显示的IP地址.因此,如果您想要查看这些响应,则需要控制路由器并对其进行设置,以便将欺骗性IP全部路由回您用于查看响应的IP.