tcpdump 命令详解
综述:
在学习TCP网络相关的时候,学习到了tcpdump这个工具。其核心功能可以分为两个部分:
- 对数据包进行过滤,将我们不需要的包抛弃掉。通过filter expression以及一些 选项 实现
- 对我们需要的包进行各种处理。比如将之怎么显示出来,将之下载到一个文件中
分述:
- 过滤规则
过滤规则主要是filter expression 。其由一个或多个单元构成。每一个单元包括有4个域。分别是
- proto 表示协议,如tcp ip ether等。默认是和后面的type保持同步的
- dir 表示方向 可以为src , dst ,src and dst, src or dst。默认为src or dst
- type 表示类型。用于修饰后面的name是什么.可以为 host , name, port等
- id/name 表示一个事物
除此之外,还有选项 -i 表示在哪一个网卡上进行监听。也起到了筛选的作用 2. 显示规则 将筛选出来的数据进行显示。标准的显示方式是一行显示一个tcp报文内部的信息。ip层面的内容和数据链路层面的内容都是不显示的。 常见的选项有
1. -t 不显示开头的时间戳
2. -# 开头显示标号
3. -v 显示ip层面的内容
4. -e 也显示link level的内容
5. -x 显示包的raw data。仅仅以十六进制的方式显示。并且不包括link level header
6. -X 和-x相比只是多了一个ASCII的显示
7. -xx 和-x相比,多了link level的显示
8. -XX和-X相比,多了link level的显示
3 除此之外,还有一些
1. -w表示将包的raw data写到一个文件中。
2. -r表示从文件中读取数据
|