tcpdump 是Linux系统下可以将网络中传送的数据包进行捕获分析的工具。它支持针对网络层、协议、主机、网络或端口的过滤,并提供and、or、not等逻辑语句过滤无用信息。
tcpdump 命令格式介绍
该命令示例在Ubuntu 18.04.6 LT中tcpdump演示
语法:
tcpdump --help
Usage: tcpdump [-aAbdDefhHIJKlLnNOpqStuUvxX#] [ -B size ] [ -c count ]
[ -C file_size ] [ -E algo:secret ] [ -F file ] [ -G seconds ]
[ -i interface ] [ -j tstamptype ] [ -M secret ] [ --number ]
[ -Q in|out|inout ]
[ -r file ] [ -s snaplen ] [ --time-stamp-precision precision ]
[ --immediate-mode ] [ -T type ] [ --version ] [ -V file ]
[ -w file ] [ -W filecount ] [ -y datalinktype ] [ -z postrotate-command ]
[ -Z user ] [ expression ]
命令行参数介绍:
linux系统下执行tcpdump命令需要root账号或者具备sudo权限的账号。
1、抓取所有的网络包,并存到 capture.cap 文件中。
tcpdump -w capture.cap
2、抓取所有的经过eth0网卡的网络包,并存到capture.cap 文件中。
tcpdump -i eth0 -w capture.cap
3、抓取源地址是192.168.1.1的包,并将结果保存到 capture.cap 文件中。
tcpdump src host 192.168.1.1 -w capture.cap
4、抓取地址包含是192.168.1.1的包,并将结果保存到 capture.cap 文件中。
tcpdump host 192.168.1.1 -w capture.cap
5、抓取目的地址包含是192.168.1.1的包,并将结果保存到 capture.cap 文件中。
tcpdump dest host 192.168.1.1 -w capture.cap
6、抓取主机地址为 192.168.1.1 的数据包。
tcpdump -vni eth0 host 192.168.1.1
7、抓取包含192.168.1.0/24网段的数据包。
tcpdump -vni eth0 net 192.168.1.0/24
8、抓取网卡eth0上所有包含端口22的数据包。
tcpdump -vni eth0 port 22
9、抓取指定协议格式的数据包,协议格式可以是(tcpudpicmp)中的任何一种。
tcpdump -vni eth0 icmp
10、抓取源IP是 192.168.1.1 且目的IP端口是22的数据包。
tcpdump -i eth0 src host 192.168.1.1 and dst port 22
11、抓取源IP 是192.168.1.1或端口是22的数据包。
tcpdump -i eth0 src host 192.168.1.1 or port 22
12、抓取源IP192.168.1.1且端口不是22的数据包。
tcpdump -i eth0 src host 192.168.1.1 and not port 22
13、将抓取的数据包记录存到/tmp/capture文件中,当抓取100个数据包后就退出程序。
tcpdump –i eth0 -vnn -w /tmp/capture -c 100
14、从/tmp/capture记录中读取tcp协议的数据包。
tcpdump -i eth0 tcp -vnn -r /tmp/capture
15、获取主机192.168.1.1和除了主机192.168.1.2之外所有主机通信的ip包。
tcpdump ip host 192.168.1.1 and ! 192.168.1.2
原文始发于微信公众号(云网数端):Linux系统 tcpdump 抓包命令使用教
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/259592.html