manjaro安装GUI版本:yaourt -S wireshark-qt
需用sudo wireshark图形化版本以顺利使用全部功能
抓包嗅探协议分析
安全专家必备的技能
抓包引擎
Libpcap9——Linux
Winpcap10——Windows
解码能力(衡量抓包工具优劣的重要指标)
若不勾选使用混杂模式,不会抓取发送给本地IP地址之外的包
筛选器: 过滤掉干扰的数据包
抓包过滤器:抓包时过滤
显示过滤器:显示时过滤,往往用的更多
Network -> Capture Filters -> Capture Engine -> Display Filter
实时抓包,停止后可以保存,建议使用pcap格式(兼容性较高)
Edit->Preferences调整界面布局等首选项内容
TTL(Time to live)
常见协议包:
数据包的分层结构(统计信息、二层报头、三层报头、四层报头...)
ARP,ICMP,TCP,UDP,DNS,HTTP,FTP...
IP是三层报头
四层协议不仅是TCP(Protocol:6)和UDP(17)两种协议,0-255,ICMP(1),IGMP(2)...
二层报头先是源地址再是目的地址,三层报头先是目的地址再是源地址
TCP的三次握手: [SYN], [SYN, ACK], [ACK]
TCP开销相对于UDP较大
DNS是基于四层UDP协议之上的应用层协议,域名解析
HTTP是基于TCP协议的应用层协议
HTTP/1.1\r\n结尾
FTP也是基于TCP协议的应用层协议
wireshark默认通过端口来识别协议,如HTTP通常在80,若在8080则不会按HTTP解析,可以右键选择decode as来手动选择协议
数据流:
HTTP、SMTP、POP3、SSL
更清晰地看到访问过程
右键包 follow xxx stream
HTTP,SMTP,POP3基本上是完全明文传输的,提倡用SSL(Secure Sockets Layer)等加密
SSL加密通信过程中,最初的几个包进行SSL公钥传输及加密秘钥的交换,信息会以明文形式传输,但这些信息无法用于解密
信息统计:
wireshark官网下有各类协议的学习文件
大多statistics菜单下
Summary 抓包文件的摘要信息
Endpoints 了解当前这些包中一共有几个IP地址
Protocol Hierarchy 可查看当前抓的数据包都是什么协议类型
DNS占比过大时往往不正常
Conversation 查看两台机期间产生的会话及产生的数据量(查看中僵尸程序的服务器)
Expert Info 专家系统信息提示
wireshark抓大流量时略有欠缺,但应用很广,有很多基于wireshark开发的抓包软件
企业抓包部署方案:
Sniffer
Cace/riverbed
Cascad pilot