Wireshark 是网络包分析工具(流量分析、协议分析、数据包分析、网络窃听等),主要作用是尝试捕获网络包, 并尝试显示数据包尽可能详细的情况
Wireshark不会处理网络事务,它仅仅是“测量”(监视)网络
Wireshark是开源软件项目,不用担心授权和付费问题
Wiresahrk简史
1997年以后,Gerald Combs 需要一个工具追踪网络问题并想学习网络知识,他开始开发Ethereal
Ethereal是第一版,经过数次开发,停顿,1998年,经过这么长的时间,补丁,Bug报告,以及许多的鼓励,0.2.0版诞生了。Ethereal就是以这种方式成功的
此后不久,Gilbert Ramirez发现它的潜力,并为其提供了底层分析
1998年10月,Guy Harris正寻找一种比TcpView更好的工具,他开始为Ethereal进行改进,并提供分析
1998年以后,正在进行TCP/IP教学的Richard Sharpe 关注了它在这些课程中的作用。并开始研究该软件是否他所需要的协议。如果不行,新协议支持应该很方便被添加,他开始从事Ethereal的分析及改进。
从那以后,帮助Ethereal的人越来越多,他们的开始几乎都是由于一些尚不被Ethereal支持的协议,所以他们拷贝了已有的解析器,并为团队提供了改进回馈
2006年项目Moved House(这句不知道怎么翻译)并重新命名为:Wireshark.
Wiresahrk结构
GTK1/2:图像处理工具,处理用户的输入输出显示
Core:核心引擎,通过函数调用将其他模块连接在一起,起到联动调度的作用
Wiretap:格式支持,从抓包文件中读取数据包,支持多种文件格式
Capture:捕包引擎,利用libpcap/WinPcap从底层抓取网络数据包,提供了通用的抓包接口,能从不能类型的网络接口获取数据包
Win-/libpcap:Wireshark抓包时依赖的库文件
Wireshark使用WinPCAP作为接口,直接与网卡进行数据报文交换,不会对网络封包产生内容的修改,它只会反映出目前流通的封包资讯。 Wireshark本身也不会送出封包至网络上
网络嗅探器工作原理
收集:从网卡上收集二进制信息(将网卡设置成混杂模式,,抓包工具默认设置)
转换:将捕获的二进制信息转换成可读形式
分析:对捕获和转换后的数据进行分析
混杂端口:是指一台机器能够接收所有数据流,不论其目的地址是不是它,主用于诊断网络问题
抓包前提需要将网卡设为混杂模式
抓包原理:
1、抓包本地网卡进出网络流量,针对自己网卡不能针对整个局域网
2、集线器网络,集线器是网络层设备,不学习数据包,广播所有接口(已经很少有这种环境)
3、镜像端口,将数据拷贝一份到一个端口,交换机为二层设备,第一次广播,第二次学习地址转发
4、交换机有个弊端,第一次都需要广播地址学习MAC地址才能转发,这种方式易被人利用
5、ARP欺骗
端口镜像注意:在进行多个端口同时镜像到一个端口的时候注意单个端口的流量负载能力
相关文档
《wireshark数据包分析实战》第二版Chris Sanders
《wireshark网络分析》第二版Laura Chappell
《TCP/IP协议栈详解卷一》W.Richard Stevens
相关网站
https://www.wireshark.org
https://www.wiresharkbook.com
https://wiki.wiresharkbook.com
sniffer
fiddler、httpwatch针对http协议
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。