如何使用Python实时解析tcpdump的输出数据?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1124个文字,预计阅读时间需要5分钟。
一、背景+内容今天有个小需求,需要确认客户端是否有服务端,可以通过发送UDP包来检测,但为了减轻工作负担,不想每次都手动执行tcpdump抓包命令。于是写了个脚本来自动化这个过程。
二、代码实现pythonimport socket
def check_service(ip, port): try: # 创建UDP套接字 sock=socket.socket(socket.AF_INET, socket.SOCK_DGRAM) # 设置超时时间 sock.settimeout(1) # 发送UDP数据包 sock.sendto(btest, (ip, port)) # 接收响应 data, _=sock.recvfrom(1024) # 关闭套接字 sock.close() return True except socket.timeout: return False
测试ip=192.168.1.1port=80if check_service(ip, port): print(f服务端 {ip}:{port} 存在)else: print(f服务端 {ip}:{port} 不存在)
一、背景
今天有个小需求,要确认客户端有没有往服务端发送udp包,但为了减轻工作量,不想每次到机器上手动执行tcpdump抓包命令。
于是就写了个脚本来释放人力。
本文共计1124个文字,预计阅读时间需要5分钟。
一、背景+内容今天有个小需求,需要确认客户端是否有服务端,可以通过发送UDP包来检测,但为了减轻工作负担,不想每次都手动执行tcpdump抓包命令。于是写了个脚本来自动化这个过程。
二、代码实现pythonimport socket
def check_service(ip, port): try: # 创建UDP套接字 sock=socket.socket(socket.AF_INET, socket.SOCK_DGRAM) # 设置超时时间 sock.settimeout(1) # 发送UDP数据包 sock.sendto(btest, (ip, port)) # 接收响应 data, _=sock.recvfrom(1024) # 关闭套接字 sock.close() return True except socket.timeout: return False
测试ip=192.168.1.1port=80if check_service(ip, port): print(f服务端 {ip}:{port} 存在)else: print(f服务端 {ip}:{port} 不存在)
一、背景
今天有个小需求,要确认客户端有没有往服务端发送udp包,但为了减轻工作量,不想每次到机器上手动执行tcpdump抓包命令。
于是就写了个脚本来释放人力。

