您的位置 首页 linux 网络命令

tcpdump抓包命令(linux tcpdump)

Linux抓包命令tcpdump是一个抓包工具,用于抓取互联网上传输的数据包

tcpdump是一个用于截取网络分组,并输出分组内容的工具。

dump  是备份的意思。垃圾

凭借强大的功能和灵活的截取策略,使其成为类UNIX系统下用于网络分析和问题排查的首选工具

tcpdump 支持针对网络层、协议、主机、网络或端口的过滤,并提供and、or、not等逻辑语句来帮助你去掉无用的信息

windows 可以用wireshark :具体可以参考: wireshark 抓包使用教程

 

我们来用一下 tcpdump 

常用的有

-nn 就是快点

  tcpdump  -nnvvvi

实例:

tcpdump -nni eth0 icmp  (抓取 ping 包)

icmp 是  ping 协议。   

在另一个xshell 中 ping  baidu.com

 

目标地址:  tcpdump -nni eth0 dst 110.242.68.4

tcpdump -nni eth0 src 10.0.0.1

 

1、默认启动

tcpdump -vv #普通情况下,直接启动tcpdump将监视第一个网络接口上所有流过的数据包。

2、过滤主机

tcpdump -i eth0 host 192.168.1.1 #抓取所有经过eth0,目的或源地址是192.168.1.1的网络数据

tcpdump -i eth0 src host 192.168.1.1 #指定源地址,192.168.1.1

tcpdump -i eth0  dst host 192.168.1.1 #指定目的地址,192.168.1.1

3、过滤端口

tcpdump -i eth1 port 80 #抓取所有经过eth1,目的或源端口是80的网络数据

tcpdump -i eth1 src port 80 #指定源端口

tcpdump -i eth1 dst port 80 #指定目的端口

4、协议过滤

tcpdump -i eth1 arp

tcpdump -i eth1 ip

tcpdump -i eth1 tcp

tcpdump -i eth1 udp

tcpdump -i eth1 icmp

#抓tcp某端口的数据包

tcpdump -i eth0 tcp port 21 -nn

 

5、常用表达式

非 : ! or "not" (去掉双引号)

且 : && or "and"

或 : || or "or"

#抓取所有经过eth1,目的地址是192.168.1.254或192.168.1.200端口是80的TCP数

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数据

tcpdump -i eth1 '((icmp) and ((ether dst host 00:01:02:03:04:05)))'

 

#抓取所有经过eth1,目的网络是192.168,但目的主机不是192.168.1.200的TCP数据

tcpdump -i eth1 '((tcp) and ((dst net 192.168) and (not dst host 192.168.1.200)))'

 

欢迎来撩 : 汇总all

白眉大叔

关于白眉大叔linux云计算: 白眉大叔

热门文章