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

kam*_*ame 1 python sockets port networking tcp

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

随...

connect((TCP_IP, TCP_PORT))
Run Code Online (Sandbox Code Playgroud)

...我可以更改对等地址的端口.但是我改变了我本地电脑的端口?

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

Mik*_*ton 5

假设你有一个名为sock... use 的套接字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))
Run Code Online (Sandbox Code Playgroud)

现在我运行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
Run Code Online (Sandbox Code Playgroud)

  • @kame,没关系......你也可以在`connect()`之前`bind()` (3认同)