TCPdump抓包命令
tcpdump -vv -s 0 -i eth0 port 3306 -w /123/a.txt
tcpdump -nnr a.txt|more
tcpdump是一个用于截取网络分组,并输出分组内容的工具。tcpdump凭借强大的功能和灵活的截取策略,
使其成为类UNIX系统下用于网络分析和问题排查的首选工具。
tcpdump提供了源代码,公开了接口,因此具备很强的可扩展性,
对于网络维护和入侵者都是非常有用的工具。tcpdump存在于基本的Linux系统中,
由于它需要将网络界面设置为混杂模式,普通用户不能正常执行,
但具备root权限的用户可以直接执行它来获取网络上的信息。
因此系统中存在网络分析工具主要不是对本机安全的威胁,而是对网络上的其他计算机的安全存在威胁。
顾名思义,tcpdump可以将网络中传送的数据包的“头”完全截获下来提供分析。它支持针对网络层、协议、主机、网络或端口的过滤,
并提供and、or、not等逻辑语句来帮助你去掉无用的信息。
-vv 输出详细的报文信息。
-i 指定监听的网络接口。
-w 直接将分组写入文件中,而不是不分析并打印出来。
-s 从每个分组中读取最开始的snaplen个字节,而不是默认的68个字节。
-C 在将一个原始分组写入文件之前,检查文件当前的大小是否超过了参数file_size
中指定的大小。如果超过了指定大小,则关闭当前文件,然后在打开一个新的文件。
参数 file_size 的单位是兆字节(是1,000,000字节,而不是1,048,576字节)。
-G seconds(指定抓包多少秒)
-r Read packets from file (which was created with the -w option).
-nn Don’t convert protocol and port numbers etc. to names either.
1、抓取回环网口的包:tcpdump -i lo
2、防止包截断:tcpdump -s0
-----------
基本语法
========
过滤主机
--------
- 抓取所有经过 eth1,目的或源地址是 192.168.1.1 的网络数据
# tcpdump -i eth1 host 192.168.1.1 - 源地址
# tcpdump -i eth1 src host 192.168.1.1 - 目的地址
# tcpdump -i eth1 dst host 192.168.1.1
过滤端口
-------- - 抓取所有经过 eth1,目的或源端口是 25 的网络数据
# tcpdump -i eth1 port 25 - 源端口
# tcpdump -i eth1 src port 25 - 目的端口
**# tcpdump -i eth1 dst port 25网络过滤
# tcpdump -i eth1 net 192.168
# tcpdump -i eth1 src net 192.168
# tcpdump -i eth1 dst net 192.168
协议过滤
--------
# tcpdump -i eth1 arp
# tcpdump -i eth1 ip
# tcpdump -i eth1 tcp
# tcpdump -i eth1 udp
# tcpdump -i eth1 icmp
---------------------**
常用表达式
1
2
3
非 : ! or “not” (去掉双引号)
且 : && or “and”
或 : || or “or”
抓取所有经过eth1,目的地址是192.168.1.254或192.168.1.200端口是80的TCP数
1
tcpdump -i eth1 ‘((tcp) and (port 80) and ((dst host 192.168.1.254) or (dst host 192.168.1.200)))’
抓取所有经过eth1,目标MAC地址是00:01:02:03:04:05的ICMP数据
1
tcpdump -i eth1 ‘((icmp) and ((ether dst host 00:01:02:03:04:05)))’
抓取所有经过eth1,目的网络是192.168,但目的主机不是192.168.1.200的TCP数据
1
tcpdump -i eth1 ‘((tcp) and ((dst net 192.168) and (not dst host 192.168.1.200)))’
来源:CSDN
作者:z毛毛虫_chenchen
链接:https://blog.csdn.net/weixin_40524659/article/details/104348702