大家都知道在windows下面有非常好用的fiddler或者wireshark等抓包工具可以使用。今天顺路看到了linux的抓包工具tcpdump,我们来看一看。
使用
- 命令tcpdump,这个命令是需要权限的。
- 参数比较多,下面我们再来讲一讲一些常用的。
地址相关关键字
-
host
主机地址,后面可以带具体的IP或者地址(程序员什么时候用用到百度)
-
port
端口号,在这个例子中,我们指定了端口80,这个时候我们用curl能够拦截到。但是用ping不能看到(ping在ICMP层并没有端口这么一个说法)
方向相关关键字
-
src源地址
-
dst目标地址
这里是支持运算符与或非的,例如当我们ssh到一台机器上时,你使用tcpdump会有很多主机跟服务器的包,可以用 host ! ($host) 进行过滤。
其他类型
- 协议关键字: ip,arp,tcp,udp等
- 逻辑运算符: and,or,!等
当然还有很多,随便一款linux工具都是博大精深。即便是Linux可以拦到包很多人也看不懂里面说的啥,还好我们还有其他方法。
我们可以使用-w保存到某个文件,然后将这个文件搞到windows或者mac,用相应的图形工具进行分析。
感觉这个世界美好多了。。