在
Ubuntu
上查看UDP端口数据,一般可以通过以下两种方式实现:
使用netstat命令实现
netstat命令是用于显示当前
活动
的网络连接、
路由表
、
网络
接口等信息的常用工具。它可以通过如下命令查看当前所有UDP连接的信息:
sudo netstat -uap
其中,参数-u表示只显示UDP连接信息,-a表示显示所有信息,-p表示显示进程信息。执行该命令后,会列出所有的UDP连接信息,包括本地地址、外部地址、状态等等,同时还会显示请求该连接的进程信息。
使用tcpdump命令实现
tcpdump命令是用于网络数据包抓取和分析的工具。它可以通过如下命令来监控指定的UDP端口:
sudo tcpdump -i any udp and port <port>
其中,参数-i表示抓包接口,一般设置为any表示任意接口;udp表示只抓取UDP包;port参数指定要监控的UDP端口号。执行该命令后,可以实时查看到该端口接收到的UDP数据包,并可以进行进一步分析和处理。
下面是一个示例代码,可以实现在Ubuntu上通过tcpdump命令来监控特定的UDP端口并输出数据包信息:
import os
def capture_udp(port):
cmd = f"sudo tcpdump -i any udp and port {port}"
tcpdump = os.popen(cmd)
for line in iter(tcpdump.readline, ''):
print(line.strip())
capture_udp(12345)