Wireshark数据包分析实战 - 学习笔记

一、数据包分析技术与网络基础
混杂模式
工作在这个模式的网卡,会捕获其所在网段的所有网络通信流量,而不仅仅是其发出或者收到(通过MAC地址区分)的流量。

集线器 - Hub
物理层转发,从一个口收到,会转发到所有口,包括自己;
交换机 - Switcher
MAC层转发,从一个口收到,会转发到所有口,但只有目标端口会接收(通过MAC地址区分);
路由器 - Router
层3转发,即在不同网段之间转发。

流量分类
广播
分为MAC层广播和层3广播。MAC层广播地址是FF:FF:FF:FF。层3广播地址是网段内最大的IP地址,比如网络192.168.156.xxx,网络掩码255.255.255.0,那么其广播地址就是192.168.156.255。
由于广播会产生大量的数据包,一般限制在网络内,即集线器和交换机会转发广播包,但路由器不会。
多播
多播工作在层3,通过使数据包的接收者加入到某个组地址来限制数据包的复制。
一般来说,224.0.0.0 - 239.255.255.255 之间的IP地址,很可能是多播地址。
单播
端到端通信,通过IP地址区分。

广播域
是数据包不经过路由器所能到达的网络边界。

二、监听网络线路
一旦数据包从网卡到达CPU后,就可以被数据包嗅探软件捕获并进行分析。

集线器连接的网络
这个已经比较少见了,因为会导致数据包的冲突,加重网络负担。
但这个环境对数据包分析师来说非常理想。

交换机连接的网络
将嗅探器软件连接到交换机的一个端口,将只能看到广播包和自己收发的包。
有4种方法:
1、端口镜像
交换机需要支持端口镜像,有些支持多个端口镜像到一个端口,需要考虑负载问题,可能丢包
被嗅探的机器不需要离线
网络不受影响
2、集线器接出
有集线器可用,通过集线器把目标机器和嗅探软件连接到交换机上;
被嗅探的机器需要暂时离线一下,以便连接;
被嗅探的机器会从全双工变成半双工;
3、网络分流器
被嗅探的机器需要暂时离线一下,以便连接;
分为聚合的、非聚合的。聚合的:收发在一个端口,非聚合的,收发为单独端口;
嗅探光纤通信时,这是唯一的选择; ???
就是为了网络分析设计的,但有时成本稍高;

4、ARP欺骗攻击
嗅探器作为目标机器和其上游路由器之间所有通信的中间人
Cain&Abel软件

路由器连接的网络
同交换机,但有时可能需要在不同点连接嗅探器才能定位到问题。

5、直接安装


三、Wireshark入门
http://www.wireshark.org
Ethereal -> Wireshark
#sudo apt install wireshark
#./config && make && make install

四、玩转捕获数据包
1.BPF语法
捕获过滤器应用于WinPcap,并使用BPF(Berkeley Packet Filter)语法,这个语法被广泛用于多种数据包嗅探软件,主要是由于大部分软件都依赖于使用BPF的libpcap/WinPcap库。
使用BPF语法创建的过滤器被称为表达式,包含一个或者多个原语,原语之间为逻辑运算符(&&, ||, !)。
每个原语包含一个或多个限定词,然后跟着一个ID名字或者数字。
限定词有三类:
- Type:host,net,port,默认为host
- Dir:src,dst,默认为 src and dst
- Proto:ether, ip, tcp, udp, http, ftp, icmp等
例如:
src 192.168.0.10 && port 80

2.协议域过滤器
可以指定每个字节/bit的值,比如
icmp[0:2]==0x0301,协议后面跟着[],格式为:proto[begin_offset:len] op value
tcp[13]&4==4 //tcp包是否设置了RST标志

3.显示过滤器
比较运算符:==,!=,>,<,>=,<=
逻辑操作符:and, or, xor, not(!)
例如:
!tcp.srcport==3389 // 和 tcp.srcport!=3389相同吗 ?
ip.src==192.168.156.2

五、wireshark高级特性
端点(endpoint)指网络通信中的能够发送或者接收数据包的设备。
会话(conversation)指网络通信中的双方,由地址标识。
MAC会话由一对MAC地址标识,IP会话由一对IP地址标识。

查看端点:Statistics -> Endpoints
查看网络会话:Statistics -> Conversations
名字解析:每次打开文件都需要解析,可能失败,占用系统资源;
- MAC地址解析
- 网络名字解析 - ip
- 传输名字解析 - port
更换解析器:选中packet,右键,Decode as,称为强制解码
跟踪TCP流:选中packet,右键,Follow TCP stream,文本形式显示内容

查看IO图:选中packet,Statistics -> IO Graphs
双向时间图:RTT(round-trip time),即发送数据包,到收到ack的时间,选中packet,Statistics -> TCP Stream Graph -> Round Trip Time Graph
数据流图:比较直观看出交互情况,Statistics -> Flow Graph
专家信息:Analyze -> Expert Info Composite

六、通用底层网络协议
七、常见高层网络协议
八、基础的现实世界场景
Twitter的登录虽然是加密的,但HTTP POST方法发布内容时,确可以看到明文,即使作者不想对外公布的。

IP和域名映射文件:
c:\windows\system32\drivers\hosts
/etc/hosts

在Packets Details中选择某个域,然后右击,选择Prepare a Filter,即可创建一个filter。

过滤出FTP包,比如是传输一个文件,可以Follow TCP Stream -> Save as,保存成文件,注意文件格式与期望写成一样,就可以得到其传输的内容。

九、让网络不再卡
1.TCP错误恢复
RTO:retransmission timeout,在重传包的Packet Details -> [SEQ/Ack analysis]里面能看到
RTT:
WIndows和Linux的最大重传次数都可以配置,一般windows 5次,Linux 15次;
TCP连续3次收到重复的Ack,就认为后续的包丢失了,启动快速重传,此时发送完重传包才继续发送其它包。
TCP/IP协议栈是否开启选择性确认(Selective Acknowlegement)特性,如果未开启,则一旦数据包丢失,后续所有包都要重传。而开启的情况,则只需要重传丢失的包。
2.TCP流量控制

十、安全领域的数据包分析
1.TCP SYN端口扫描
向对方的每个port发送SYN包,请求建立连接
- 如果对方有service运行于该port,那么回复SYN/Ack;
- 如果没有,则回RST;
- 如果没有开机,或者port关闭,则没有响应;
在wireshark中查看扫描结果,可以查看Statistics -> Conversations,里面有port,packets数量等可以用于识别结果。
2.操作系统指纹技术

十一、WLAN数据包分析
基本信息 作者: 王晓卉 李亚伟 出版社:清华大学出版社 ISBN:9787302388715 上架时间:2015-3-16 出版日期:2015 年3月 开本:16开 页码:404 版次:1-1 所属分类:计算机 > 计算机网络 > 综合 编辑推荐   通过80个实例,详细讲解了Wireshark数据包分析实施的8大类技巧 基于Wireshark抓取的数据包,层层剥茧地剖析了12种常见网络协议的构成 内容简介 书籍 计算机书籍 《Wireshark数据包分析实战详解》由浅入深,全面系统地介绍了Wireshark数据抓包和数据包分析。本书提供了大量实例,供读者实战演练Wireshark的各项功能。同时,对抓取的数据包按照协议层次,逐层讲解各个协议在数据包中的体现。这样,读者就可以掌握数据包抓取到信息获取的每个环节。 《Wireshark数据包分析实战详解》共分3篇。第1篇介绍Wireshark的各项功能,包括基础知识、Wireshark的定制、捕获过滤器和显示过滤器的使用、数据包的着色、导出和重组等;第2篇介绍基于Wireshark对TCP/IP协议族中常用协议的详细分析,如ARP、IP、UDP、TCP、HTTP、HTTPS和FTP等;第3篇介绍借助Wireshark分析操作系统启动过程中的网络通信情况。 《Wireshark数据包分析实战详解》涉及面广,内容包括工具使用、网络协议和应用。本书适合各类读者群体,如想全面学习Wireshark的初学者、网络管理员、渗透测试人员及网络安全专家等。对于网络数据分析人士,本书更是一本不可多得的案头必备参考书。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值