1、tcpdump——网络数据包捕获和分析的工具

目录

一、基础知识

二、格式说明

1、常用的选项

2、时间格式

3、过滤规则

三、常见报文过滤表达式

四、抓包

1、过滤规则包

2、筛选

3、其他报文

(1)保存到指定文件名字

(2)不进行地址到域名的转换(-n)

(3)端口为80

(4)指定源IP和某个端口

(5)UDP端口53(即DNS)

(6)在网卡eth0上抓取报文,报文的IP地址是10.0.2.15,不限制长度

五、常识


一、基础知识

1、功能:输出网络上的数据报文

2、局限性:tcpdump可视化输出功能有限,可以通过捕获报文并且保存下来,然后使用图形用户界面软件wireshark来分析。

二、格式说明

1、常用的选项

-i <interface>:指定监听的物理网卡接口

-s:截取每个报文中截取的数据长度

-w <filename>:把原始报文保存到文件中

-c:收到指定报文个数后退出,可当作软件执行结束的条件

-G <rotate_seconds>:每隔指定的时间,将捕获的报文循环保存为新文件

-D :输出tcpdump可以捕获的接口列表,包含接口编号和接口名称

-v:当解析和打印时,输出详细的信息,例如报文的生存时间TTL、ID等IP报文选项

-p:禁止本命令把接口修改为混杂模式(将抓取和本机通信的报文,注意接口有困难因其他原因而处于混杂模式)

-r:从文件中读取报文(文件是由“-w”选项抓包创建的)

2、时间格式

%d:每月中的第几天,十进制数字从01-31

%H:当前小时时间,00-23

%M:当前分钟时间,00-59

%S:当前秒时间,00-60

3、过滤规则

1、共四个类型的修饰符:host(需要获取报文的主机或IP地址)、net(需要捕获报文的子网)、port(端口)、portrange(端口范围)

2、传输方向修饰符:src和dst

3、协议修饰:特定协议:IP、ARP、RARP、ICMP、TCP、UDP

and(&&)、or(||)、not(!)

三、常见报文过滤表达式

host bjbook.net

捕获和主机 bjbook.net交互的数据包,包含到达和来源的报文

net 191.0.0.0/24

捕获指定网段191.0.0.0/24 范围内的数据包

port 20

捕获指定端口20的数据包,指定TCP或UDP协议端口匹配,端口号可以是数字也可以是一个名称,这个名称在/etc/services文件中和端口号数字相对应,例如 port http 则匹配80端口的所有流量,包括 TCP和UDP 80端口的流量

portrange 8000-8080

捕获端口范围8000~8080的数据包

dst port 80

捕获目的端口为80的报文,包含UDP和 TCP报文,dst 指明报文的方向,也可以修饰主机名和P地址

src 192.168.6.100

捕获源IP为192.168.6.100的报文,src 也可以修饰传输层端口号

ip multicast

IPv4组播报文,即目标地址为组播地址的报文

arp

只捕获ARP协议报文,不包含IP报文

ip

捕获IP协议报文,不包含ARP等协议报文

udp port 53

指定UDP协议并且端口为53,即是 DNS 协议的报文

port 5060 or port 53

指定端口为5060或端口为53的报文,这在使用IP电话时经常用到

not host bjbook.net

所有非主机 bjbook.net的报文

port 5060 and (host 192.168.6.100 or 192.168.6.102)

端口5060的报文,并且满足IP地址是192.168.6.100或192.168.6.102,使用括号来改变结合的优先级

四、抓包

1、过滤规则包

(1)抓取指定IP地址数据包: tcpdump -i eth0 (src/dst) host 192.168.1.100

(2)抓取主机与特定IP(192.168.1.200 或192.168.1.201)通信包

       tcpdump -i eth0 host 192.168.1.100 and \(192.168.1.200 or 192.168.1.201\)

 (3)抓取主机与特定IP(192.168.1.200 或192.168.1.201)通信包

        tcpdump ip host 192.168.1.100 and !192.168.1.200

 (4)抓取特定端口数据包:tcpdump -i eth0 (src/dst) port 22

 (5)抓取特定网段数的数据包:tcpdump -i eth0 (src/dst) net 192.168

 (6)抓取特定协议数据包: tcpdump -i eth0 arp/ip/tcp/udp/icmp

 (7)指定网卡:tcpdump -i eth0

 (7)条件组合过滤抓包

tcpdump  '((tcp) and (port 80) and ((dst host 192.168.1.254) or (dst host 192.168.1.1)))'

tcpdump -i eth0 '((tcp) and (port 80) and ((dst host 192.168.1.254) or (dst host 192.168.1.1)))'

tcpdump  '((icmp) and ((ether dst host 00:0A:0B:03:0C:05)))'

tcpdump  '((tcp) and ((dst net 192.168) and (not dst host 192.168.1.254))'

2、筛选

(1)不解析域名以IP地址显示第三列的内容,sort -u去重

tcpdump -n -r test.cap | awk '{print $3}'| sort -u

(2)筛选源IP为192.168.1.100的包:tcpdump -n src host 192.168.1.100 -r test.cap

(3)筛选目的IP为192.168.1.100的包:tcpdump -n dst host 192.168.1.100 -r test.cap

(4)筛选端口为50的包:tcpdump -n port 53 -r test.cap

3、其他报文

(1)保存到指定文件名字

    tcpdump -i eth0 -s 1500 -G 60 -W zhang%H%M%S.cap

(2)不进行地址到域名的转换(-n)

    tcpdump -i eth0 -n -vv -c 500(抓取eth0接口的全部报文并输出到屏幕中,不进行地址到域名的转换(-n),在抓取500个后退出)

(3)端口为80

 tcpdump -i eth0 ’dst port 80‘ -v

(4)指定源IP和某个端口

tcpdump -i eth0 ’port 5060 and src 192.168.6.100‘ -v

(5)UDP端口53(即DNS)

   tcpdump udp and port 53 -v

(6)在网卡eth0上抓取报文,报文的IP地址是10.0.2.15,不限制长度

    tcpdump -i eth0 -s0 -w zhang.pcap host 10.0.2.15

五、常识

1、路由器通常有两个接口,eth0连接互联网,eth1连接局域网,将报文的全部内容保存到某个文件中   

2、在系统启动时,ARP协议来请求目标IP地址的MAC地址,但这个IP地址并非和本地机器同网段,这在网关机器带有ARP代理情况下工作正常,但是如果下一跳路由器没有ARP代理,就会因为没有目标IP的 MAC响应而通信失败。我们在启动时就可以仅抓取ARP协议、TFTP协议、DNS协议及ICMP协议。
tcpdump -i eth0 -w aaa.pcap port 59 or port 53 or port 80 or arp or iomp该命令将抓取TFTP协议、DNS协议、HTTP协议、ARP协议和 ICMP协议的报文。


 

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
TCPdump是一种用于网络数据包的抓包工具,可以在Linux和UNIX系统上使用。通过捕获网络传输中的数据包分析它们的内容,我们可以获得有关网络流量、协议和网络问题的有用信息。 使用TCPdump分析数据包可以帮助我们进行多种操作。首先,我们可以使用过滤器来选择感兴趣的数据包,例如指定源或目的IP地址、端口号、协议等条件。这样可以减少捕获数据包量,提高分析效率。 其次,我们可以通过查看分析结果来了解网络流量的特征。TCPdump可以显示数据包的源IP地址、目的IP地址、协议类型、源端口号、目的端口号、时间戳等信息。我们可以根据这些信息来分析网络行为,比如判断是否有异常的通信活动、是否有异常的数据流量等。 此外,通过查看数据包的内容,我们还可以进行更详细的分析TCPdump可以捕获到传输的原始数据,我们可以使用其他工具来解析和分析这些数据。例如,我们可以使用Wireshark来查看数据包的各层协议、负载内容、响应时间、错误码等信息,从而诊断和排查网络问题。 综上所述,TCPdump是一个强大的网络数据包分析工具,可以帮助我们监控和分析网络流量、诊断网络问题以及进行安全审计等任务。通过对数据包捕获分析,我们可以获取有关网络流量和通信行为的宝贵信息,进而提高网络性能和安全性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值