Wireshark抓包原理
- 本机环境
直接在自己的网卡抓包 - 集线器环境
集线器下所有的流量都会被传递到所有的设备 - 交换机环境
交换机下的流量会根据MAC表进行转发,非路径上的设备不能得到流量- 端口镜像(SPAN),公司常用方法,来获得其他的流量
- APR欺骗
- MAC泛洪: 通过发送大量的MAC垃圾信息来flush掉交换机里的路由表,从而对于其他设备发来的消息,交换机不知道该如何行动,然后把这些消息泛洪给了所有设备
利用winpcap底层驱动,capture引擎就可以抓取,得到了0101010通过wiretap对其解读,递交给core(核心引擎),联动各个引擎. 再往上递交给GTK图形化处理界面
过滤器语法
BPF语法
- 类型
host /net /port - 方向
src /dst - 协议
ether /ip /tcp /udp /http / ftp - 逻辑运算符
! && ||
举例
src host 192.168.1.1 && dst port 80
源地址192.168.1.1 目的地址是80端口的包
host 192.168.1.1 ||host 192.168.1.2
略
!broadcast
不要抓广播包
ether host 00:8D:60:AA:22
要这个MAC的包
显示过滤器
-
比较操作符
== != > < -
逻辑操作符
and or xor有且仅有一个条件被满足 not -
ip地址
ip.addr ip.src ip.dst -
端口过滤
tcp.port
tcp.srcport
tcp.dstport
tcp.flag.syn
tcp.flag.ack
-
具体协议
DNS bootp tcp
演示
ip.addr==192.168.1.1
ip.src==192.168.1.100 and ip.dst==25.200.133.60
tcp=port==80
arp
tcp
not http
ip.src==192.168.1.1 and tcp.dstport==80