tcpdump 用法示例

server.py 源码:

python 复制代码
import socket
import sys

# 这里创建了一个UDP套接字。socket.AF_INET指定了IPv4地址族,socket.SOCK_DGRAM指定了这个套接字是UDP协议的。
sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
# 这里定义了服务器将要监听的地址和端口。localhost代表本地机器,sys.argv[1]是从命令行接收的参数,它应该是一个端口号,这里将其转换为整数。
addr = ('localhost', int(sys.argv[1]))
print('listening on %s port %s' % addr, file=sys.stderr)
# 将套接字绑定到上面指定的地址和端口上,这样它就可以接收发送到这个地址和端口的数据包了。
sock.bind(addr)

while True:
    # 这行代码接收客户端发送的数据。recvfrom方法会阻塞,直到有数据到达。4096是接收缓冲区的大小。buf是接收到的数据,raddr是发送数据的客户端的地址。
    buf, raddr = sock.recvfrom(4096)
    # 将接收到的数据解码成UTF-8格式的字符串,并打印到标准错误输出。
    print(buf.decode("utf-8"), file=sys.stderr)
    # 如果接收到数据(buf不为空),则向发送数据的客户端地址发送一条消息"this is the host!"。
    if buf:
        sent = sock.sendto(b'this is the host!', raddr)

client.py 如下:

py 复制代码
import socket

# 目标IP地址和端口号
ip_address = '127.0.0.1'  # 请替换为目标IP地址
port_number = 26099       # 请替换为目标端口号

# 创建IPV4, UDP套接字
sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)

# 要发送的数据
message = b'This is a UDP message'

try:
    # 发送数据
    print(f'Sending to {ip_address}:{port_number}')
    sent = sock.sendto(message, (ip_address, port_number))
    
    # 接收响应(如果需要的话)
    response, server = sock.recvfrom(4096)
    print(f'Received: {response.decode()} from {server}')

finally:
    # 关闭套接字
    print('Closing socket')
    sock.close()

运行效果如下:

使用 tcpdump 监听 26099 端口

bash 复制代码
sudo tcpdump -i any -nn port 26099 -w http_traffic.pcap

python3 client.py

随后

bash 复制代码
tcpdump -XXnr http_traffic.pcap

可以看到如下列表

tcpdump 捕捉到了来往的 UDP 包

相关推荐
小杨勇敢飞22 分钟前
记录一次 VMware 虚拟机固定 IP 后,FinalShell 连接不上的排查过程
网络·网络协议·tcp/ip
weixin_604236678 小时前
华三 路由器 极简核心配置
运维·服务器·网络·h3c·h3c路由器
换个昵称都难12 小时前
webrtc 音频模块FEC模块
网络·音视频·webrtc
youngerwang12 小时前
【从搬运工到协处理器:网卡芯片架构、算法、验证与边缘演进深度剖析】
网络·算法·架构·芯片
智慧光迅AINOPOL15 小时前
校园在线巡课系统方案:督导全覆盖
网络·全光网解决方案·全光网·校园全光网·校园全光网解决方案
酉鬼女又兒15 小时前
零基础入门计算机网络:网络层核心任务、三大关键问题、两种服务类型与 TCP/IP 网际层协议体系全解析
服务器·网络·网络协议·tcp/ip·计算机网络·php·求职招聘
Urbano15 小时前
工装制作全流程科普:从面料到自动化生产
网络·人工智能
2401_8685347815 小时前
网规笔记 | 真题解析:2018年11月软考网规-网络安全案例分析
网络
Gauss松鼠会16 小时前
【GaussDB】GaussDB重要通信参数汇总
服务器·网络·数据库·sql·性能优化·gaussdb·经验总结