tshark服务器抓包入门
背景
作为wireshark出品,在服务器抓包的一款利器, 我们现在简要记录其使用过程
安装
1 |
|
命令行直接运行
会抓出所有网卡的所有包, 并且会输出到控制台
1 |
|
大部分场景,因为网络包特别多, 我们需要筛选抓取我们想要的包, 比如我只想要数据库连接的包
1. 找需要抓包的网卡
先列出服务器上有哪些网卡
1 |
|
选择其中一个网卡进行抓包
1 |
|
2. 过滤指定协议,源ip,目的IP,端口等信息
指定过滤 是 -f
参数, 但是一般情况下省略即可, 如果不省略, 后面的语句尽量需加上 ""
1 |
|
这里支持简单的not/and/or
逻辑运算符, 去组合使用premitive原语。
[]
中括号代表可选
|
分隔符代表可选项
这里原语包括
1 |
|
比如我想要抓包 目标IP是 192.168.50.1的包, 则可以 使用
1 |
|
1 |
|
这里主要是抓包tcp/udp
并且源端口,目标端口是多少
比如抓取 udp
的53
端口
1 |
|
3. 抓包结束中止条件
一般情况下, 我们Ctrl+c
中止继续抓包, 有些粗暴, tshark
为我们提供了几个维度的中止条件
抓到指定个数的包后,即停止
1 |
|
抓包持久xx秒后,即停止
1 |
|
抓包的总大小达到一定的大小(kb)后, 即停止
1 |
|
4. 抓包内容输出到指定文件
分析抓包文件更常用是在wireshark上做分析, 因此我们看下怎么将抓包内容输出到文件,然后在wireshark做分析
1 |
|
5. 查看wireshark帮助
1 |
|
6. 高级命令-抓完包后,再做应用层过滤
display filter(-Y参数)
这里命令等同于wireshark
gui端的 输入框语句
1 |
|
读取指定文件的pcap
1 |
|
过滤指定字段
1 |
|
如果想要在服务器上做分析, 可以使用-Y
命令进行操作
和tcpdump区别
一般服务器都装有tcpdump, 可以用tcpdump抓包,然后用wireshark进行分析。
并且tcpdump过滤条件和 tshark基本一致
参考文章
- tcpdump解析: https://linuxwiki.github.io/NetTools/tcpdump.html
- tcpdump命令: https://www.myfreax.com/tcpdump-command-in-linux/
- 中文tshark命令行参数注释: https://www.cnblogs.com/liun1994/p/6142505.html
- tshark过滤语法: https://www.wireshark.org/docs/wsug_html_chunked/ChCapCaptureFilterSection.html
- tshark抓包文章: https://kaimingwan.com/post/ji-chu-zhi-shi/wang-luo/shi-yong-tsharkzai-ming-ling-xing-jin-xing-wang-luo-zhua-bao