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 包

相关推荐
Godspeed Zhao11 分钟前
现代智能汽车系统——网络
网络·汽车
未来之窗软件服务1 小时前
自己平台接入国家网络身份认证公共服务接入
网络·仙盟创梦ide·东方仙盟
要做一个小太阳2 小时前
华为Atlas 900 A3 SuperPoD 超节点网络架构
运维·服务器·网络·华为·架构
vx-bot5556662 小时前
企业微信接口在混合云环境下的集成架构与网络互联方案企业微信接口在混合云环境下的集成架构与网络互联方案
网络·架构·企业微信
蒸蒸yyyyzwd2 小时前
c网络编程学习笔记
c语言·网络·学习
时艰.2 小时前
Java 并发编程:Callable、Future 与 CompletableFuture
java·网络
介一安全2 小时前
OSS-Fuzz 模糊测试使用指南
测试工具·安全性测试·fuzz
强风7942 小时前
Linux—应用层自定义协议与序列化
运维·服务器·网络
科技块儿3 小时前
如何定期向监管部门报送IP属地统计报表?
网络·网络协议·tcp/ip
win x3 小时前
UDP Socket
网络·网络协议·udp