繁体   English   中英

Python socket-module:如何更改客户端的本地端口?

[英]Python socket-module: How to change the local port on the client side?

我想从使用 TCP/IP 作为客户端的网络获取包。

和...

connect((TCP_IP, TCP_PORT))

...我可以更改对等地址的端口。 但是我更改了本地计算机的端口?

编辑:我想使用带有四个端口的网卡。 网卡连接到发送大量数据的测量设备。 如何查看数据的去向? 如何区分这四个端口?

假设您有一个名为sock的套接字...使用socket.bind()

import socket
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
DESTINATION_ADDR = '1.1.1.1'
SOURCE_PORT, DESTINATION_PORT = 31415, 80
sock.bind(('0.0.0.0', SOURCE_PORT))
sock.connect((DESTINATION_ADDR, DESTINATION_PORT))

现在我运行tshark (文本wireshark )来查看我在那个界面上的流量......

[mpenning@Bucksnort ~]$ sudo tshark -i eth0 tcp and port 31415
Capturing on eth0
  0.000000 24.19.161.6 -> 1.1.1.1      TCP 31415 > http [SYN] Seq=0 Win=5840 Len=0 MSS=1460 TSV=4228124209 TSER=0 WS=6
 12.000009 24.19.161.6 -> 1.1.1.1      TCP 31415 > http [SYN] Seq=0 Win=5840 Len=0 MSS=1460 TSV=4228127209 TSER=0 WS=6
 36.000010 24.19.161.6 -> 1.1.1.1      TCP 31415 > http [SYN] Seq=0 Win=5840 Len=0 MSS=1460 TSV=4228133209 TSER=0 WS=6

网络适配器上的四个物理端口与 IP(和 TCP/IP)的逻辑端口概念无关

在我们进一步帮助您之前,请指定这些物理端口的配置(即 IP 地址、子网等)。 可能有一种方法可以在 Python:select 流量的四个端口之一中执行您想要的操作。

可以分配 TCP/IP 客户端端口,但不应这样做,因为这样做没有任何意义。 有关说明,请参阅TCP/IP 客户端(临时)端口和客户端/服务器应用程序端口使用

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM