Python套接字模块:如何在客户端更改本地端口? [英] Python socket-module: How to change the local port on the client side?

查看:370
本文介绍了Python套接字模块:如何在客户端更改本地端口?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

I want to get packages from a network using TCP/IP as a client.

有...

connect((TCP_IP, TCP_PORT))

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

... I can change the port of the peer address. But I change the port of my local computer?

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

I want to use a network card with four ports. The network card is connected to a measurement device which sends a lot of data. How can I see where the data goes? How can I distinguish between this four ports?

推荐答案

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

Assume you have a socket named 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))

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

Now I run tshark (text wireshark) to see my traffic on that interface...

[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

这篇关于Python套接字模块:如何在客户端更改本地端口?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆