我正在尝试编写一个python程序,它将生成多个客户端,以便与网络上的一台服务器通信。我的问题是我需要做些什么才能为每个客户端模拟不同的IP地址?
我现在正在使用Python OS使用MAC OSX Lion。
我已经开发了可以接受多个套接字的服务器端。我想避免为每个客户提供一台机器。任何有关新手的提示/提示都将不胜感激。
答案 0 :(得分:1)
即使这是一个老问题,它仍会出现在谷歌......
正如已经提到的,基本上它将接收来自IP的IP并分配下一个可用端口...所以使用标准套接字......你将最终得到来自相同IP的一堆连接,具有不同的端口
就我而言,更容易创建一个客户端脚本,它将生成您需要的客户端数量(我使用单个python脚本中的1000多个客户端)。
生成客户端之后,让脚本为每个客户端生成IP ..如果您正确处理连接对象..您可以随时查询您想要的客户端..
所以最后,你所有的客户都来自同一台机器或网络上的另一台机器,但你只需要一个随机/生成的IP地址变量,你可以用它来测试..它只需要几行就可以使用生成的IP地址作为套接字对象的引用。
如果您想要使用特定于IP的内容,例如仅允许来自特定子网的连接。只需在连接时生成虚假IP地址,并将其用作真实IP地址。
如果您只想拥有多个客户端,则根本不需要生成IP地址,因为一切都是不同的端口。
答案 1 :(得分:-1)
http://docs.python.org/library/socket.html#socket.create_connection
如果提供,source_address必须是一个2元组
(host, port)
,以便在连接之前将要绑定的套接字作为其源地址。
我认为应该这样做。