linux系统通常已预装tcpdump工具,若未安装,可使用以下命令安装:
yum install -y tcpdump
查看tcpdump版本信息:
tcpdump --help
确定网卡名称:
掌握网卡信息后,即可利用tcpdump监控和过滤服务器网络数据。
**tcpdump常用命令示例:**1. 捕获指定IP地址的网络数据:
捕获所有经过eth0网卡,目的或源IP地址为192.168.29.162的网络数据:
tcpdump -n -i eth0 host 192.168.29.162
捕获源IP地址为192.168.29.162的网络数据 (eth1网卡):
tcpdump -i eth1 src host 192.168.29.162
捕获目的IP地址为192.168.29.162的网络数据 (eth1网卡):
tcpdump -i eth1 dst host 192.168.29.162
2. 捕获指定端口的网络数据:
捕获eth0网卡8080端口的网络数据:
tcpdump -n -i eth0 port 8080
3. 捕获MySQL数据库相关数据:
捕获MySQL执行的SQL语句:
tcpdump -i eth1 -s 0 -l -w - dst port 3306 | strings
捕获MySQL通讯数据包 (生成的cap文件需使用Wireshark等工具打开):
tcpdump -n -nn -tttt -i eth0 -s 65535 'port 3306' -w 20160505mysql.cap
4. 捕获其他协议数据:
捕获SMTP数据:
tcpdump -i eth1 'tcp[tcpflags] & tcp-syn != 0 and tcp[tcpflags] & tcp-ack != 0'
捕获HTTP GET请求:
tcpdump -i eth1 'tcp[(tcp[12]>>2):4] = 0x47455420'
捕获SSH响应:
tcpdump -i eth1 'tcp[(tcp[12]>>2):4] = 0x5353482D'
5. 高级过滤和保存:
实时捕获eth0网卡8080端口的GET请求,并将数据保存到GET.log文件:
tcpdump -i eth0 '((port 8080) and (tcp[(tcp[12]>>2):4]=0x47455420))' -nnAl -w /tmp/GET.log
捕获指定数量的SYN包 (-c参数指定捕获包数量):
time tcpdump -nn -i eth0 'tcp[tcpflags] = tcp-syn' -c 10
这些命令示例提供了tcpdump的基本用法,您可以根据实际需求调整参数进行更精细的网络数据捕获和分析。 请注意替换 eth0 和 eth1 为您的实际网卡名称。
以上就是大神教你在Linux中使用tcpdump命令的详细内容,更多请关注知识资源分享宝库其它相关文章!
版权声明
本站内容来源于互联网搬运,
仅限用于小范围内传播学习,请在下载后24小时内删除,
如果有侵权内容、不妥之处,请第一时间联系我们删除。敬请谅解!
E-mail:dpw1001@163.com
发表评论