|
一、安装scapy模块1、打开DOS命令行python-mpipinstallscapy12、sniff()函数功能:数据嗅探参数:iface:指定在哪个网络接口上抓包count:表示要捕获数据包的数量。默认为0(不限制数量)filter:流量的过滤规则。使用的是BPF的语法prn:定义回调函数,使用lambda表达式来写回调函数(当符合filter的流量被捕获时,就会执行回调函数)【BPF过滤语法举例】只捕获某个IP主机进行交互的流量:host192.168.1.124只捕获某个MAC地址主机的交互流量:ethersrchost00:87:df:98:65:d8只捕获来源于某一IP的主机流量:srchost192.168.1.125只捕获去往某一IP的主机流量:dsthost192.168.1.154只捕获80端口的流量:port80只捕获除80端口以外的其他端口流量:!port80只捕获ICMP流量:ICMP只捕获源地址为192.168.1.125且目的端口为80的流量:srchost192.168.1.125&dstport80应用只捕获源地址为192.168.1.124且目的端口为80的流量:fromscapy.allimport*sniff(filter='srchost192.168.1.124&dstport80',prn=lambdax:x.summary())#sniff(filter='srchost192.168.2.116&dstport80',iface='WLAN',prn=lambdax:x.summary())1234二、WireShark安装:https://www.wireshark.org/download.html1、开始抓包示例打开主界面,选择对应的网卡,右键,会出现StartCapture(开始捕获),点击即可进行捕获该网络信息,开始抓取网络包执行需要抓包的操作,如pingwww.baidu.com。说明:ip.addr==180.101.49.11andicmp表示只显示ICPM协议且源主机IP或者目的主机IP为119.75.217.26的数据包。2、表达式规则类型Type(host、net、port)方向Dir(src源端、dst目的端)协议Proto(ether、ip、tcp、udp、http、icmp、ftp等)逻辑运算符(&与、||或、!非)序列号:SequenceNumber确认应答信号:AcknowledgementNumber2.1抓包过滤器语法和实例:(1)协议过滤:直接在抓包过滤框中直接输入协议名即可。tcp,只显示TCP协议的数据包列表http,只查看HTTP协议的数据包列表icmp,只显示ICMP协议的数据包列表(2)IP过滤host192.168.1.104srchost192.168.1.104dsthost192.168.1.104(3)端口过滤port80srcport80dstport80(4)逻辑运算符&与、||或、!非srchost192.168.1.104&dstport80抓取主机地址为192.168.1.80、目的端口为80的数据包host192.168.1.104||host192.168.1.102抓取主机为192.168.1.104或者192.168.1.102的数据包!broadcast不抓取广播数据包2.2显示过滤器语法和实例:(1)比较操作符==等于、!=不等于、>大于、=大于等于、dst:%s'%(packet[IP].src,packet[IP].dst))print('TTL:%s'%packet[IP].ttl)print(packet.show())#内置的show()函数打印数据包内容sniff(filter='srcport80',prn=Callback)123456789101112
|
|