wireshark使用详细教程
抓包这事,用详说玄也玄,细教说简单也简单。用详Wireshark就是细教那个让你能“看见”网络数据的神器。别管你是用详排查网络慢、分析恶意流量,细教还是用详单纯想搞明白TCP三次握手到底怎么回事,它都能把网线里跑的细教那些0和1翻译成人话给你看。 我第一次用Wireshark是用详在一家小公司,服务器半夜被人狂灌UDP包,细教带宽全被吃光。用详领导急得直转圈,细教我打开Wireshark抓了三十秒,用详一眼就看到某个IP疯狂发500字节的细教UDP包到随机端口——典型的放大攻击。那感觉就像在黑屋子里突然开了灯,用详所有问题都摊在眼前。 先说说最基础的捕获。打开软件,主界面会列出所有网卡接口,每个后面都有个实时跳动的波形图。选你正在用的那块——别选错了,比如你连着WiFi就别去抓以太网口,否则啥也抓不到。双击接口就开始抓包,再点红色方块停止。就这么简单,跟录音似的。 但抓到一堆包只是开始。真正麻烦的是怎么从几千条记录里找你要的东西。这时候就得靠过滤器了。Wireshark有两种过滤器,新手最容易搞混。抓包之前用的叫“捕获过滤器”,语法比较死板,比如你只想抓HTTP流量,就在抓包前输入 真正让Wireshark强大的是点击任意一个包后,中间那三块面板。上面是数据包列表,中间是协议树——这里藏着所有秘密。比如你点一个HTTP请求包,展开“Hypertext Transfer Protocol”那一层,能看到请求方法、URI、Host、User-Agent这些。再往下是TCP层,能看到源端口、目的端口、序列号、确认号。最下面是十六进制原始数据,普通人看不懂,但搞底层协议的人就靠这个吃饭。 说个我常用的技巧。排查网页打不开的时候,我会先抓包,然后输入 还有那个“跟随TCP流”功能,特别适合看应用层对话。右键任意一个TCP包,选“Follow TCP Stream”,Wireshark会把整个连接的数据重组显示出来。HTTP的请求和响应、FTP的登录过程,全都清清楚楚。我曾经用它帮同事查一个接口返回乱码的问题,一跟随流就看到服务器返回的JSON里混了HTML标签,原来是网关劫持了响应。这种问题看代码根本看不出来,非抓包不可。 最后说个容易踩的坑。抓包时如果发现很多包标记为黑色,那是TCP错误,比如重传、乱序。偶尔几个重传正常,但如果大量出现,网络质量就堪忧了。别慌着骂运营商,先看看是不是自己交换机端口协商成了半双工——这问题我碰到过不止一次。 Wireshark这工具,学起来半小时,精通要几年。但别被它吓到,抓住一个核心思路就行:先过滤出可疑流量,再点开看协议细节,最后顺着TCP流看完整对话。网络有问题,它就能给你答案。唯一的代价是,你可能从此养成了看啥都想抓个包的习惯。tcp port 80。但更常用的是“显示过滤器”,抓完包之后再筛,灵活得多。比如你怀疑某个IP有问题,直接在上方绿色的输入框打ip.addr == 192.168.1.100,回车,瞬间只剩那个IP的流量。想筛协议就输dns、http、tcp,甚至组合条件tcp.port == 443 && ip.src == 10.0.0.5。记住一个关键点:显示过滤器是绿色的才代表语法正确,如果变红了,那就是写错了,Wireshark不会报错,只是不干活。http.response看有没有服务器返回的响应。如果只有请求没有响应,那就是服务器挂了或者防火墙拦了。如果连DNS请求都没发出去,那问题出在你本地。有一次我发现一个软件老连不上服务器,抓包一看,它疯狂向一个旧的IP地址发SYN包,没人应答——原来是配置文件里写死了旧服务器地址。改掉就好了,前后五分钟。
- 最近发表
- 随机阅读
- 搜索
-
- 友情链接
-