谈谈抓Pcap包

通常情况下抓pcap包会有几种方式
最容易想到也最方便的是用wireShark进行嗅探
这种在平时调试的时候特别好用

  • 但在一些有规律的批量获取pcap包中,使用wireshark就比较笨重

  • 提一下批量获取pcap包的一些前置条件:

  • 在window下:
    安装winpcap或者是npcap,可以直接安装nmap,就会很省事

  • 在linux下:
    一般都会默认安装

值得一提的是,python中scapy模块功能特别强大,可以用来流量包的嗅探,比如使用sniff函数,可以对特定端口特点网卡等进行过滤嗅探,这也是一种批量获取方式,但是这种方式因为scapy包的缘故,效率特别低,非常可能出现丢包情况(亲测情况属实)

还有一种方法使用TcpDump在Linux下进行,这种系统级别的可以有效减少丢包情况(window下为windump)
使用命令如下:

基本语法:
tcpdump [options] [expression]

选项(部分常用选项):
-i <interface>:指定要监听的网络接口。例如,-i eth0表示监听eth0接口。
-n:禁用主机名解析,只显示IP地址。
-c <count>:设置捕获数据包的数量。
-s <snaplen>:设置捕获数据包时的快照长度(以字节为单位)。
-w <file>:将捕获的数据包写入文件。
-r <file>:从文件中读取数据包进行分析。

表达式(用于过滤要捕获的数据包):
host <ip>:仅捕获与指定IP地址相关的数据包。
port <port>:仅捕获与指定端口相关的数据包。
src <ip>:仅捕获源IP地址为指定IP的数据包。
dst <ip>:仅捕获目标IP地址为指定IP的数据包。
更多表达式语法和选项可以通过tcpdump -h查看帮助文档获取。

你可能感兴趣的:(奇怪脚本,网络编程,踩过的坑,网络,服务器,linux,抓包,pcap)