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 包

相关推荐
集成显卡5 小时前
PlayWright | 初识微软出品的 WEB 应用自动化测试框架
前端·chrome·测试工具·microsoft·自动化·edge浏览器
Demisse5 小时前
[华为eNSP] OSPF综合实验
网络·华为
工控小楠5 小时前
DeviceNet转Modbus TCP网关的远程遥控接收端连接研究
网络·网络协议·devicenet·profient
搬码临时工6 小时前
电脑同时连接内网和外网的方法,附外网连接局域网的操作设置
运维·服务器·网络
互联网杂货铺6 小时前
完美搭建appium自动化环境
自动化测试·软件测试·python·测试工具·职场和发展·appium·测试用例
安全系统学习7 小时前
【网络安全】Qt免杀样本分析
java·网络·安全·web安全·系统安全
逃逸线LOF7 小时前
Spring Boot论文翻译防丢失 From船长&cap
网络
计算机毕设定制辅导-无忧学长7 小时前
从 AMQP 到 RabbitMQ:核心组件设计与工作原理(二)
网络·rabbitmq·ruby
光芒Shine8 小时前
【物联网-TCP/IP】
网络·网络协议·tcp/ip
stormsha12 小时前
Proxmox Mail Gateway安装指南:从零开始配置高效邮件过滤系统
服务器·网络·网络安全·gateway