流经集线器的所有网络数据包都会被发送到每一个集线器连接的端口。
端口镜像、集线器输出、使用网络分流器、ARP欺骗方式等四种方式
设置连接的交换机的端口镜像功能,将交换机其他一个或多个端口的经过的数据包复制一份到嗅探器连接的端口上。
目标设备和交换机间插接一个集线器,嗅探器也接在集线器上;在交换机不支持端口镜像的时候可以使用这个方法,这个类似于,将两者之间的数据包“共享”给集线器上其他的端口。
有聚合的和非聚合的两种类型,都是安置在两个设备间来嗅探所有流经的网络通信,聚合的是三个接口,非聚合的是四个端口。
通过发送包含虚假MAC地址的ARP欺骗信息,劫持其他计算机流量的过程;它是在交换式的网络中进行高级技术。
当ARP劫持开始后,即可通过Wireshark软件进行抓包分析。
在处理涉及多个网段与路由器问题的同时,需要将嗅探器移动到不同位置上;由此才可以获得一个完整的网络拓扑。
Ctrl+F:查找(过滤)
搜索类型 | 例子 |
---|---|
Display filter (表达式筛选) | Not ipip.addr=xxx.xxx.xxx.xxxArp |
Hex Value (十六进制值筛选) | 00:ffFf:ff00:a1:b2:f0 |
String (字符串筛选) | WorkstationlUserBDomain |
标记了之后,数据包的显示会加深。
BPF限定词 | 说明 | 例子 |
---|---|---|
Type | 名字或数字代表的意义 | Host,net,port |
Dir | 指明数据来源和目的 | src,dst |
Proto | 限定使用的协议 | Ether,ip,tcp,udp,http,ftp |
逻辑运算符: 与 && 或 || 非 !
表达式 | 说明 |
---|---|
src 192.168.1.11 && port 80 | 捕获源地址是192.168.1.11 和源端口或目标端口是80的流量 |
Host xxx.xxx.xxx.xxx | 捕获某个IP地址的计算机流量 |
Host testserver2 | 捕获某个主机名的计算机流量 |
Ether host xxx.xx.xx.xx | 捕获某个MAC地址的计算机流量 |
Src host xx.xxx.xxx.x | 捕获来自某个计算机的流量 |
Dst host xx.x.x.x | 捕获前往某个计算机的流量 |
Port xxxx | 捕获指定端口的流量 |
!port xxx | 捕获除指定端口以外的所有流量 |
Icmp[0] == 3 | 捕获偏移量为0值为3(目标不可达)的Icmp数据包流量 |
Icmp[0] == 8 or icmp[0] == 0 | 捕捉代表 echo 请求 或 echo恢复的ICMP数据包流量 |
Icmp[0:2] == 0x0301 | 捕捉以类型 3 代码 1表示的目标不可达、主机不可达的ICMP数据包流量 |
Tcp[13] & 1==1 | 捕捉设置了FIN位的TCP数据包 |
Tcp[13] & 2==2 | 捕捉设置了SYN位的TCP数据包 |
Tcp[13] & 4==4 | 捕捉设置了RST位的TCP数据包 |
Tcp[13] & 8==8 | 捕捉设置了PSH位的TCP数据包 |
Tcp[13] & 16==16 | 捕捉设置了ACK位的TCP数据包 |
Tcp[13] & 32==32 | 捕捉设置了URG位的TCP数据包 |
Tcp[13] == 18 | 捕捉TCP SYN-ACK数据包 |
Ether host 00:00:00:00:00 | 捕捉流入或流出mac地址的流量 |
!Ether host 00:00:00:00:00 | 捕捉流入或流出mac地址以外的所有的流量 |
Broadcast | 捕捉广播流量 |
Udp | 捕获UDP流量 |
使用自带的过滤表达式来过滤显示数据:
过滤器表达式 | 说明 |
---|---|
! tcp.port == 3389 | 排除RDP流量 |
Tcp.flags.syn == 1 | 具有SYN标志位的TCP数据包 |
Tcp.flags.rst == 1 | 具有RST标志位的TCP数据包 |
! arp | 排除ARP流量 |
http | 所有HTTP流量 |
Tcp.port == 23 || tcp.port ==21 | 文本管理流量 |
Smtp || pop || imap | 文本email流量 |
Ip.addr == xxx.xx.xx.xx | 指定IP的流量 |
Frame.len <= xxx | 长度小于xxx字节的数据包 |
统计每个端点的地址、发送或收到的数据包的数量和字节数
每一个IP就是一个网络端点
统计A和B端点间会话的发送或收到的数据包的数量和字节数
可以查看各种协议的分布统计情况
ps:【Wireshark软件无法实现tcp码流跟踪】
通过x轴(数据包间隔时间)、Y轴(数据包数量上限)来调整显示的IO图形,通过图像过滤器可以将不同的流量以不同的颜色显示IO图像对比。
基于两个端口间TCP连接对话,确认数据包已被成功接收所需的时间,可与会话统计配合使用。
对于连接可视化以及将一段时间中的数据流显示出来,配合对话统计使用,可以查看两端点之间的数据流。
【统计—FlowGraph…】
偏移位 | 0~7 | 8~15 |
---|---|---|
0 | 硬件类型 | ~ |
16 | 协议类型 | ~ |
32 | 硬件地址长度 | 协议地址长度 |
48 | 操作 | ~ |
64 | 发送方的MAC1 | ~ |
80 | 发送方的MAC2 | ~ |
96 | 发送方的MAC3 | ~ |
112 | 发送方的协议地址1 | ~ |
144 | 目标的MAC1 | ~ |
160 | 目标的MAC2 | ~ |
176 | 目标的MAC3 | ~ |
192 | 目标的协议地址1 | ~ |
208 | 目标的协议地址2 | ~ |
上述的均为:request(请求包),下图为(reply)响应包
当IP地址发生改变后,网络主机中缓存的IP和MAC映射就失效了,为了防止通信错误,无偿ARP请求被发送到网络中,强制所有收到它的设备更新ARP映射缓存。
将一个数据流分为更小的片段,是IP用于解决跨越不同类型网络时可靠传输的一个特性。基于数据链路层所使用的最大传输单元MTU的大小,默认是1500字节(不包含14字节的以太网头本身),当数据包大小大于MTU时会被分片。