Wiresahrk基本概念

简介:

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结构

wKiom1kfyNWiRYx8AAHxrSrWGlY580.jpg

GTK1/2:图像处理工具,处理用户的输入输出显示
Core:核心引擎,通过函数调用将其他模块连接在一起,起到联动调度的作用
Wiretap:格式支持,从抓包文件中读取数据包,支持多种文件格式
Capture:捕包引擎,利用libpcap/WinPcap从底层抓取网络数据包,提供了通用的抓包接口,能从不能类型的网络接口获取数据包
Win-/libpcap:Wireshark抓包时依赖的库文件

wincap1.jpg

Wireshark使用WinPCAP作为接口,直接与网卡进行数据报文交换不会对网络封包产生内容的修改,它只会反映出目前流通的封包资讯。 Wireshark本身也不会送出封包至网络上


网络嗅探器工作原理
收集从网卡上收集二进制信息(将网卡设置成混杂模式,,抓包工具默认设置)
转换捕获的二进制信息转换成可读形式
分析捕获和转换后的数据进行分析

混杂端口:是指一台机器能够接收所有数据流,不论其目的地址是不是它,主用于诊断网络问题

抓包前提需要将网卡设为混杂模式


抓包原理:
1、抓包本地网卡进出网络流量,针对自己网卡不能针对整个局域网
2、集线器网络,集线器是网络层设备,不学习数据包,广播所有接口(已经很少有这种环境)
3、镜像端口,将数据拷贝一份到一个端口,交换机为二层设备,第一次广播,第二次学习地址转发
4、交换机有个弊端,第一次都需要广播地址学习MAC地址才能转发,这种方式易被人利用
5、ARP欺骗

端口镜像注意:在进行多个端口同时镜像到一个端口的时候注意单个端口流量负载能力

图片.png

wKiom1lI9Dyi8F_SAAG1y2eoEx8431.jpg

相关文档

《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协议










本文转自 周小玉 51CTO博客,原文链接:http://blog.51cto.com/maguangjie/1927752,如需转载请自行联系原作者
目录
相关文章
|
2月前
|
数据库
补偿事务基本概念
补偿事务基本概念
22 2
|
7月前
|
Kubernetes 调度 Docker
k8s基本概念-2
k8s基本概念
32 0
|
7月前
|
存储 Kubernetes API
k8s基本概念-1
k8s基本概念
57 0
|
7月前
|
存储 NoSQL C语言
基本概念和术语
基本概念和术语
|
8月前
|
存储 Kubernetes 负载均衡
K8S(一)基本概念篇
最近公司要搭建一个微服务项目,之前的docker-compose部署的方式需要替换成K8S了,然后,哈哈,这个机会了又落到我身上了,虽然我并不知道怎么部署,但是我还是挺高兴的,又可以边学习边运用了,真是不赖。接下来不定期更新K8S系列文章,记录我的成长和踩坑记。
99 0
|
10月前
|
存储 安全 编译器
C++基础概念(上)2
C++基础概念(上)2
|
存储 NoSQL C语言
一、基本概念和术语
一、基本概念和术语
一、基本概念和术语
|
机器学习/深度学习 数据挖掘 开发者
基本概念| 学习笔记
快速学习基本概念。
68 0
基本概念| 学习笔记
|
存储 缓存 关系型数据库
LotusDB 设计与实现—1 基本概念
LotusDB 是一个基于 LSM Tree 进行设计,并结合 B+ 树优势的单机 KV 存储引擎,读写性能稳定、快速。
143 0
LotusDB 设计与实现—1 基本概念
|
程序员 开发者 Python
几个基本概念|学习笔记
快速学习 几个基本概念