scapy中sniff怎么设置只捕获DNS流量?

2023-10-09 00:59

本文主要是介绍scapy中sniff怎么设置只捕获DNS流量?,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

现在自己要做一个分析DNS的程序,需要借助到scapy的sniff函数实时捕获网卡上的DNS流量,实现原理是需要设置sniff函数中的filter参数端口为53,因为DNS的端口为53

pkts = sniff(iface = "Intel(R) Dual Band Wireless-AC 8265",filter = "port 53",count = 20 , prn = lambda x: x.summary()) 

想到这样过滤的思路如下:

之前自己经过上网查询后,知道了sniff中的filter参数属于BPF语法(跟wireshark过滤语法相同),在wireshark中设置“捕获过滤器”语法也能照搬。(所以后面也会用wireshark设置“捕获过滤器”语法举例子)
filter的用法
在这里插入图片描述
但是发现协议中并没有"DNS"这个协议,自己如果直接设置 dns过滤器,显示无法设置,如下:(为了演示直观,展示了Wireshark界面,而不是sniff函数,两者的过滤语法是相同的)
在这里插入图片描述
后来从这篇博文中获得灵感,
Wireshark使用教程(因为其中也会用到BPF语法)
在这里插入图片描述
我们知道DNS所占端口号是53,意思是只要设置过滤出端口号为53的流量记录,就相当于过滤出协议为DNS的流量,所以如下设置:
在这里插入图片描述
捕获流量均为DNS
在这里插入图片描述
同理,在sniff的filter中也这么写,
在这里插入图片描述
其中

wrpcap("1.pcap", pkts)

这句可以把抓到的流量,存储为1.pcap文件,

pkts = sniff(iface = "Intel(R) Dual Band Wireless-AC 8265",filter = "port 53",count = 20 , prn = lambda x: x.summary()) 

用Wireshark打开pcap文件,验证确实全部都为DNS流量
在这里插入图片描述

这篇关于scapy中sniff怎么设置只捕获DNS流量?的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!


原文地址:https://blog.csdn.net/weixin_43356308/article/details/113810740
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.chinasem.cn/article/169206

相关文章

springboot+vue项目怎么解决跨域问题详解

《springboot+vue项目怎么解决跨域问题详解》:本文主要介绍springboot+vue项目怎么解决跨域问题的相关资料,包括前端代理、后端全局配置CORS、注解配置和Nginx反向代理,... 目录1. 前端代理(开发环境推荐)2. 后端全局配置 CORS(生产环境推荐)3. 后端注解配置(按接口

CentOS和Ubuntu系统使用shell脚本创建用户和设置密码

《CentOS和Ubuntu系统使用shell脚本创建用户和设置密码》在Linux系统中,你可以使用useradd命令来创建新用户,使用echo和chpasswd命令来设置密码,本文写了一个shell... 在linux系统中,你可以使用useradd命令来创建新用户,使用echo和chpasswd命令来设

电脑死机无反应怎么强制重启? 一文读懂方法及注意事项

《电脑死机无反应怎么强制重启?一文读懂方法及注意事项》在日常使用电脑的过程中,我们难免会遇到电脑无法正常启动的情况,本文将详细介绍几种常见的电脑强制开机方法,并探讨在强制开机后应注意的事项,以及如何... 在日常生活和工作中,我们经常会遇到电脑突然无反应的情况,这时候强制重启就成了解决问题的“救命稻草”。那

C#TextBox设置提示文本方式(SetHintText)

《C#TextBox设置提示文本方式(SetHintText)》:本文主要介绍C#TextBox设置提示文本方式(SetHintText),具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑... 目录C#TextBox设置提示文本效果展示核心代码总结C#TextBox设置提示文本效果展示核心代

Pyserial设置缓冲区大小失败的问题解决

《Pyserial设置缓冲区大小失败的问题解决》本文主要介绍了Pyserial设置缓冲区大小失败的问题解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面... 目录问题描述原因分析解决方案问题描述使用set_buffer_size()设置缓冲区大小后,buf

Feign Client超时时间设置不生效的解决方法

《FeignClient超时时间设置不生效的解决方法》这篇文章主要为大家详细介绍了FeignClient超时时间设置不生效的原因与解决方法,具有一定的的参考价值,希望对大家有一定的帮助... 在使用Feign Client时,可以通过两种方式来设置超时时间:1.针对整个Feign Client设置超时时间

PyCharm如何设置新建文件默认为LF换行符

《PyCharm如何设置新建文件默认为LF换行符》:本文主要介绍PyCharm如何设置新建文件默认为LF换行符问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录PyCharm设置新建文件默认为LF换行符设置换行符修改换行符总结PyCharm设置新建文件默认为LF

CentOS 7部署主域名服务器 DNS的方法

《CentOS7部署主域名服务器DNS的方法》文章详细介绍了在CentOS7上部署主域名服务器DNS的步骤,包括安装BIND服务、配置DNS服务、添加域名区域、创建区域文件、配置反向解析、检查配置... 目录1. 安装 BIND 服务和工具2.  配置 BIND 服务3 . 添加你的域名区域配置4.创建区域

Linux上设置Ollama服务配置(常用环境变量)

《Linux上设置Ollama服务配置(常用环境变量)》本文主要介绍了Linux上设置Ollama服务配置(常用环境变量),Ollama提供了多种环境变量供配置,如调试模式、模型目录等,下面就来介绍一... 目录在 linux 上设置环境变量配置 OllamPOgxSRJfa手动安装安装特定版本查看日志在

Linux系统之dns域名解析全过程

《Linux系统之dns域名解析全过程》:本文主要介绍Linux系统之dns域名解析全过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、dns域名解析介绍1、DNS核心概念1.1 区域 zone1.2 记录 record二、DNS服务的配置1、正向解析的配置