分享一款Linux抓包工具----tcpdump
大家都知道在windows下面有非常好用的fiddler或者wireshark等抓包工具可以使用。今天顺路看到了linux的抓包工具tcpdump,我们来看一看。
使用
root@debvirtual:/root# tcpdump --help
tcpdump version 4.99.0
libpcap version 1.10.0 (with TPACKET_V3)
OpenSSL 1.1.1k 25 Mar 2021
Usage: tcpdump [-AbdDefhHIJKlLnNOpqStuUvxX#] [ -B size ] [ -c count ] [--count]
[ -C file_size ] [ -E algo:secret ] [ -F file ] [ -G seconds ]
[ -i interface ] [ --immediate-mode ] [ -j tstamptype ]
[ -M secret ] [ --number ] [ --print ] [ -Q in|out|inout ]
[ -r file ] [ -s snaplen ] [ -T type ] [ --version ]
[ -V file ] [ -w file ] [ -W filecount ] [ -y datalinktype ]
[ --time-stamp-precision precision ] [ --micro ] [ --nano ]
[ -z postrotate-command ] [ -Z user ] [ expression ]
- 命令tcpdump,这个命令是需要权限的。
- 参数比较多,下面我们再来讲一讲一些常用的。
地址相关关键字
-
host
主机地址,后面可以带具体的IP或者地址(程序员什么时候用用到百度)tcpdump host baidu.com
-
port
端口号,在这个例子中,我们指定了端口80,这个时候我们用curl能够拦截到。但是用ping不能看到(ping在ICMP层并没有端口这么一个说法)tcpdump host baidu.com and port 80
方向相关关键字
-
src源地址
tcpdump src host baidu.com
-
dst目标地址
tcpdump dst host baidu.com
这里是支持运算符与或非的,例如当我们ssh到一台机器上时,你使用tcpdump会有很多主机跟服务器的包,可以用 host ! ($host) 进行过滤。
其他类型
- 协议关键字: ip,arp,tcp,udp等
- 逻辑运算符: and,or,!等
当然还有很多,随便一款linux工具都是博大精深。即便是Linux可以拦到包很多人也看不懂里面说的啥,还好我们还有其他方法。
我们可以使用-w保存到某个文件,然后将这个文件搞到windows或者mac,用相应的图形工具进行分析。
tcpdump host baidu.com -w out.dcap
本作品采用 知识共享署名-相同方式共享 4.0 国际许可协议 进行许可。