目录
1、
2、
3、
4、
5、
- 5.1
- 5.2
- 5.3
- 5.4
6、
1、wireshark简介
- Wireshark 是当今世界上被应用最广泛的网络协议分析工具。用户通常使用Wireshark来学习网络协议,分析网络问题,检测攻击和木马等。
- 为了安全考虑,wireshark只能查看封包,而不能修改封包的内容,或者发送封包。
- wireshark能获取HTTP,也能获取HTTPS,但是不能解密HTTPS,所以wireshark看不懂HTTPS中的内容
- 处理HTTP,HTTPS用Fiddler,其他协议比如TCP,UDP就用wireshark
2、关于wireshark的启动
由于这个周末还算比较空闲,所以准备单列一个博客写一下wireshark的使用。下午悠闲地打开电脑,万万没想到...
百度了一下可能是版本的问题,卸载重装之后可以打开wireshark了
卸载时用apt-get remove wireshark
并不能完全卸载
apt-get remove --purge wireshark
才能删除配置文件 进去之后由于Kali默认是root账号,会引发Lua加载错误,如下:
解决方法:
修改
/usr/share/wireshark/init.lua
将倒数第二行:
dofile(DATA_DIR.."console.lua")
改为
--dofile(DATA_DIR.."console.lua")
3、wireshark抓包基本操作
点击捕获选项可以选择要对监听的网卡和数据包捕获进行配置
开始捕获数据包
在“视图”->“对话着色”选项中可以修改着色规则
4、wireshark窗口介绍
这里的示意图是旧版的wireshark窗口的介绍,但功能布局与现在使用的版本基本一致,这里借来引用
WireShark 主要分为这几个界面:
Display Filter(显示过滤器), 用于过滤
Packet List Pane(封包列表), 显示捕获到的封包, 有源地址和目标地址,端口号。 颜色不同,代表
Packet Details Pane(封包详细信息), 显示封包中的字段
Dissector Pane(16进制数据)
Miscellanous(地址栏,杂项)
5、包过滤
5.1 捕获过滤器
捕捉过滤器是用来配置应该捕获什么样的数据包,在启动数据包捕捉之前就应该配置好。打开主界面“捕获”—>“捕获过滤器”可以对捕获过滤器进行设置
5.2 捕获过滤器的语法
Protocol(协议) Direction(方向) Host(s) Logical Operations(逻辑运算)
Protocol(协议):
可能的值: ether, fddi, ip, arp, rarp, decnet, lat, sca, moprc, mopdl, tcp and udp. 如果没有特别指明是什么协议,则默认使用所有支持的协议。Direction(方向):
可能的值: src, dst, src and dst, src or dst 如果没有特别指明来源或目的地,则默认使用 "src or dst" 作为关键字Host(s):
可能的值: net, port, host, portrange. 如果没有指定此值,则默认使用"host"关键字。Logical Operations(逻辑运算):
可能的值:not, and, or. 否("not")具有最高的优先级。或("or")和与("and")具有相同的优先级,运算时从左至右进行。
使用示例:
显示目的TCP端口为3128的封包。tcp dst port 3128
显示来源IP地址为10.1.1.1的封包。ip src host 10.1.1.1
显示目的或来源IP地址为10.1.2.3的封包。host 10.1.2.3
显示来源为UDP或TCP,并且端口号在2000至2500范围内的封包。src portrange 2000-2500
显示除了icmp以外的所有封包。(icmp通常被ping工具使用)not imcp
显示来源IP地址为10.7.2.12,但目的地不是10.200.0.0/16的封包。src host 10.7.2.12 and not dst net 10.200.0.0/16
显示来源IP地址为10.4.1.12或10.6.0.0/16,且目的端口号在200-1000,目的地址是10.0.0.0/8的TCP封包。(src host 10.4.1.12 or src net 10.6.0.0/16) and tcp dst portrange 200-10000 and dst net 10.0.0.0/8
5.3 显示过滤器
显示过滤器用来过滤已经捕获的数据包。在数据包列表的上方,有一个显示过滤器输入框,可以直接输入过滤表达式。
点击输入框右侧按钮可以添加显示过滤器点击输入框左侧按钮可以管理显示过滤器
5.4 显示过滤器的语法
Protocol.String1.String2 Comparison operators Value Logical Operations Other Expression
- Protocol,协议字段。从OSI7层模型的2到7层协议都支持。
- String1, String2 (可选项),协议的子类。
- Comparison operators,比较运算符。
- Logical Operations,逻辑运算符。
使用示例:
显示来源不为10.1.2.3或者目的不为10.4.5.6的封包。ip.src != 10.1.2.3 or ip.dst != 10.4.5.6
显示包含TCP SYN标志的封包。tcp.flags.syn == 0x02
6、数据分析
数据的分析需要对协议的工作原理和过程十分熟悉
下面两篇博客通过对TCP三次握手的过程对数据封包进行了分析: 参考资料:下面演示用浏览器打开天涯网站时捕获数据包的情况
设置过滤器只显示源IP地址为本机的http协议数据包
从中可以发现天涯网站的IP地址
也可以查看TCP三次握手的过程
wireshark很强大,此部分内容以后有时间会继续补充