路由器抓包工具TCPDUMP使用方式

这篇具有很好参考价值的文章主要介绍了路由器抓包工具TCPDUMP使用方式。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、概述

tcpdump,用简单的语言概括就是dump the traffic on a network,是一个运行在linux平台可以根据使用者需求对网络上传输的数据包进行捕获的抓包工具,windows平台有sniffer等工具,tcpdump可以将网络中传输的数据包的"包头"全部捕获并进行分析,其支持网络层、特定的传输协议、数据发送和接收的主机、网卡和端口的过滤,并提供and、or、not等语句进行逻辑组合捕获数据包或去掉不用的信息。

二、核心参数图解

路由器抓包工具TCPDUMP使用方式1、option可选参数:将在后边一一解释;
2、proto类过滤器:根据协议进行过滤,可识别的关键词有: tcp, udp, icmp, ip, ip6, arp, rarp,ether,wlan, fddi, tr, decnet;
3、type类过滤器:可识别的关键词有:host, net, port, portrange,这些词后边需要再接参数;
4、direction类过滤器:根据数据流向进行过滤,可识别的关键字有:src, dst,同时你可以使用逻辑运算符进行组合,比如 src or dst。

 

三、常规过滤规则

常规过滤规则包括proto、type、direction 这三类过滤器。
1、基于IP地址过滤:host。

  • 使用host可以指定host ip 进行过滤:tcpdump host 192.168.1.1
  • 数据包的 ip 可以再细分为源ip和目标ip两种:
    (1)根据源ip进行过滤:tcpdump -i eth0 src 192.168.1.1
    (2)根据目标IP进行过滤:tcpdump -i eth0 dst 192.168.1.1

host表示主机(包含src与dst),src表示源主机,dst表示目的主机。
2、基于网段进行过滤:net。

  • 若ip范围是一个网段,可以直接这样指定:tcpdump net 192.168.1.0/24

意思是抓取网段192.168.1.0/24的数据包,包含src与dst

  • 网段也可以细分为源网段和目标网段:

(1)根据源网段进行过滤:tcpdump src net 192.168.1.0/24
(2)根据目标网段进行过滤:tcpdump dst net 192.168.1.0/24
3、基于端口过滤:port。

  • 使用 port 可以指定特定端口进行过滤(包含源与目的):tcpdump port 8088
  • 端口可以细分为源端口,目标端口:

(1)根据源端口进行过滤:tcpdump src port 8088
(2)根据目标端口进行过滤:tcpdump dst port 8088

  • 同时指定两个端口:tcpdump port 80 or port 8088 或 tcpdump port 80 or 8088
  • 指定端口段:tcpdump portrange 8000-8080
  • 对于一些常见协议的默认端口,可以直接使用协议名,而不用具体的端口号:比如
    http(80):tcpdump port http
    ftp(21):tcpdump port ftp
    ssh(22):tcpdump port ssh
    4、基于协议进行过滤:proto。

常见的网络协议有:tcp, udp, icmp, http, ip,ipv6 等。
若你只想查看 icmp 的包,可以直接:tcpdump icmp

四、可选参数解析

1、设置不解析域名

  • -n:不把ip转化成域名,直接显示 ip;
  • -nn:不把协议和端口号转化成名字;
  • -N:不打印出host 的域名部分,比如,,如果设置了此选现,tcpdump 将会打印'nic' 而不是 'nic.ddn.mil'。


2、控制详细内容的输出

  • -v:产生详细的输出. 比如包的TTL,id标识,数据包长度,以及IP包的一些选项。同时它还会打开一些附加的包完整性检测,比如对IP或ICMP包头部的校验和;
  • -vv:产生比-v更详细的输出. 比如NFS回应包中的附加域将会被打印, SMB数据包也会被完全解码。
  • -vvv:产生比-vv更详细的输出。比如 telent 时所使用的各种扩展选项都会被打印, 如果telnet同时使用的是图形界面,其相应的图形选项将会以16进制的方式打印出来。


3、控制时间的显示

  • -t:在每行的输出中不输出时间;
  • -tt:在每行的输出中输出时间戳;
  • -ttt:输出时,每两行打印会延迟一段时间(以毫秒为单位);
  • -tttt:在每行打印的时间戳之前添加日期的打印(此选项输出的时间最直观);


4、控制数据包头部的显示

  • -x:以16进制的形式打印每个包的头部数据(但不包括数据链路层的头部);
  • -xx:以16进制的形式打印每个包的头部数据(包括数据链路层的头部);
  • -X:以16进制和 ASCII码形式打印出每个包的数据(但不包括连接层的头部);
  • -XX:以16进制和 ASCII码形式打印出每个包的数据(包括连接层的头部);


5、过滤指定网卡的数据包

  • -i:指定过滤的网卡接口,如果要查看所有网卡,可以 -i any;


6、过滤特定流向的数据包

  • -Q:选择是入方向还是出方向的数据包,可选项有:in, out, inout;


7、其他常用参数

  • -A:以ASCII码方式显示每一个数据包(不显示链路层头部信息). 在抓取包含网页数据的数据包时, 可方便查看数据;
  • -l:基于行的输出,便于保存查看,或者交给其它工具分析;
  • -q:简洁地打印输出。即打印很少的协议相关信息, 从而输出行都比较简短;
  • -c:捕获 count 个包 tcpdump 就退出;
  • -s:tcpdump默认只会截取前96字节的内容,要想截取所有的报文内容,可以使用 -s number,number就是你要截取的报文字节数,如果是0的话,表示截取报文全部内容。
  • -S:使用绝对序列号,而不是相对序列号。
  • -C:file-size,tcpdump在把原始数据包直接保存到文件中之前, 检查此文件大小是否超过file-size,如果超过了, 将关闭此文件,另创一个文件继续用于原始数据包的记录,新创建的文件名与-w选项指定的文件名一致, 但文件名后多了一个数字,该数字会从1开始随着新创建文件的增多而增加,file-size的单位是百万字节(这里指1,000,000个字节,并非1,048,576个字节, 后者是以1024字节为1k, 1024k字节为1M计算所得, 即1M=1024 * 1024 = 1,048,576);
  • -F:使用file 文件作为过滤条件表达式的输入, 此时命令行上的输入将被忽略;


8、对输出内容进行控制的参数

  • -D:显示所有可用网络接口的列表;
  • -e:每行的打印输出中将包括数据包的数据链路层头部信息;
  • -E:揭秘IPSEC数据;
  • -L:列出指定网络接口所支持的数据链路层的类型后退出;
  • -Z:后接用户名,在抓包时会受到权限的限制。如果以root用户启动tcpdump,tcpdump将会有超级用户权限;
  • -d:打印出易读的包匹配码;
  • -dd:以C语言的形式打印出包匹配码
  • -ddd:以十进制数的形式打印出包匹配码


9、抓包数据输出到文件
使用 tcpdump 工具抓到包后,往往需要再借助其他的工具进行分析,比如常见的 wireshark。而要使用wireshark,我们得将 tcpdump 抓到的包数据生成到文件中,最后再使用 wireshark 打开它即可。
使用 -w 参数后接一个以.pcap 后缀命令的文件名,就可以将 tcpdump 抓到的数据保存到文件中,比如:
tcpdump icmp -w icmp.pcap
选择将数据保存到文件中后,控制台上将无法显示数据。
10、从文件中读取抓包数据
使用 -w 是写入数据到文件,而使用 -r 是从文件中读取数据,比如:
tcpdump icmp -r all.pcap
读取文件也可使用参数过滤,比如:
tcpdump icmp -r all.pcap -A -s 0

五、过滤规则组合

Tcpdump可使用逻辑符号and(&&),or(||),not(!)进行过滤组合,比如需要抓一个来自10.5.2.3,发往任意主机的3389端口的包:
tcpdump src 10.5.2.3 and dst port 3389 或者
tcpdump src 10.5.2.3 && dst port 3389
在使用多个过滤器进行组合时,有可能需要用到括号,而括号在 shell 中是特殊符号,因此需要使用单引号或双引号将其包含。比如:
tcpdump 'src 10.0.2.4 and (dst port 3389 or 22)'或者
tcpdump "src 10.0.2.4 and (dst port 3389 or 22)"

六、常用命令示例

1、从eth0捕获数据包(若未指定,则一般是命令ifconfig展示的第一个接口)
tcpdump -i eth0
2、从eth0捕获5个数据包
tcpdump -c 5 -i eth0
3、从eth0捕获数据包,以ASCLL格式显示
tcpdump -A -i eth0
4、以16进制和ASCLL显示捕获的数据包
tcpdump -XX -i eth0
5、从eth0捕获数据包,不将IP转为域名
tcpdump -n -i eth0
6、从eth0捕获端口7777的数据包
tcpdump -i eth0 port 7777
7、从源ip/目标ip捕获数据包
tcpdump -i eth0 src 192.168.1.1
tcpdump -i eth0 dst 192.168.1.1
8、从eth0捕获数据包,抓取192.168.1.1与端口7777的包
tcpdump -i eth0 dst 192.168.1.1 and port 7777
9、抓取eth0全部报文内容,以16进制的格式将全部报文保存到文件中,保存的文件可用wireshark软件打开(打开网页192.168.1.1/asp/files.asp,可直接下载tcpdump.pcap)
tcpdump -i eth0 -s 0 -X -w /tmp/files/tcpdump.pcap
10、在eth0口抓取dhcp所有报文内容,并详细输出在屏幕
tcpdump -i eth0 -s 0 'udp and port 67 and port 68' -XX -vvv -nn

七、输出简析

1、输出内容结构
tcpdump 输出的内容虽然多,却很规律,下图是使用tcpdump -n -i br0抓取的一个随机包。
路由器抓包工具TCPDUMP使用方式
从上面的输出来看,可以总结出:
第一列:时分秒毫秒;
第二列:网络协议 IP;
第三列:发送方的ip地址+端口号,比如192.168.1.200.64068,192.168.1.200是IP地址,64068是端口号;
第四列:箭头 >,表示数据流向;
第五列:接收方的ip地址+端口号,比如192.168.1.1.23,192.168.1.1是ip地址,而23是端口号;
第六列:冒号;
第七列:数据包内容,包括Flags 标识符,seq 号,ack 号,win 窗口,数据长度 length,更多标识符在下一节介绍。
2、Flags 标识符
使用 tcpdump 抓包后,会遇到的 TCP 报文 Flags,有以下几种:
[S.] : SYN,发起连接标识(三次握手);
[P.] : PSH,传输数据标识(传输数据);
[F.] : FIN,关闭连接标识(四次挥手);
[R.] : RST,连接重置;
[.] : 没有Flag(意思是除上面四种类型外的其他情况,比如ACK)

 

八、常见抓包接口说明

1、eth0

eth0代表以太网网卡接口,全称Ethernet Adapter0,以太网接口与网卡对应,每个硬件网卡(一个MAC)对应一个以太网接口,通常连接公网,在我们设备路由器设备上通常指sim卡用dhcp方式拨号时创建的接口,有些模组显示为usb0,但含义是一样的。
2、lo

lo代表本地环回接口,全称loopback,回环(loopback)指将电子信号、数据流等原样送回发送者的行为。它主要用于对通信功能的测试。
3、br0

br0(bridge0)代表网桥接口,网桥是一种在链路层实现中继,对帧进行转发的技术,根据MAC分区块,可隔离碰撞,将网络的多个网段在数据链路层连接起来的网络设备。在我们路由器设备上通常指lan口。
4、ppp0

ppp0是sim卡使用PPP拨号时创建的链路接口,通常连接公网通信。
5、vlan0

vlan0一般指虚拟局域网,在我们设备上通常指的是物理wan口。文章来源地址https://www.toymoban.com/news/detail-481117.html

到了这里,关于路由器抓包工具TCPDUMP使用方式的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 光猫路由器与交换机的连接方式

    首先 在家庭网络中我们要先知道网是从哪来,又往哪去,现在我来介绍一下这个网络,从理论到实践我们就可以自己正确地连接好网络,让你可以轻松地就能上网。 以家庭为研究对象的话,网络的中心就是“光纤”,就是连接光猫的那条细细的线,而家庭中的网络便是这一

    2024年02月07日
    浏览(40)
  • 无线路由器的三种加密方式详细介绍

      无线路由器主要提供了三种无线安全类型:WPA-PSK/WPA2-PSK、WPA/WPA2 以及WEP。不同的安全类型下,安全设置项不同。 1. WPA-PSK/WPA2-PSK WPA-PSK/WPA2-PSK安全类型其实是WPA/WPA2的一种简化版本,它是基于共享密钥的WPA模式,安全性很高,设置也比较简单,适合普通家庭用户和小型企业使

    2024年02月06日
    浏览(60)
  • 二级无线路由器设置静态IP上网方式图文教程

    前两节我们分别讲述了无线路由器怎么设置之PPPoE拨号、动态IP上网。既然讲解到了,当然不能错过IP静态方式上网设置了,一般静态上网方式主要应用于二级路由器或是专有IP网络方面,比如企业在组建局域网时,很多时候都会申请一至两个公网IP地址用于企业网络运营,另一

    2024年02月06日
    浏览(41)
  • 路由器连接电脑的三种方式和设置介绍

    路由器怎么连接电脑进行设置呢?目前随着电脑、智能手机、平板电脑等网络设备的普及,人们对网络的需求日益增加,因此推动了路由器的广泛使用。不过很多大多数用户不知道怎样把路由器和电脑连接起来,然后进行后续的配置。 路由器与电脑之间的连接方式有两种,一

    2024年02月08日
    浏览(42)
  • 网速很慢?路由器选错了加密方式导致的

    众所周知,路由器安全是网络安全的基石,如果路由器存在安全问题,也就意味着我们的网络也会出现安全问题。所以我们都会对路由器的做出一些安全设置, 然而如果安全设置不当可能会使整个网络变慢。 我们通常会选用WPA2-AES和WPA2-TKIP对路由器进行加密。 今天我们就来

    2024年02月08日
    浏览(32)
  • 网页(web认证)认证通用解决办法:通过浏览器抓包curl,制作路由器可运行的bash脚本实现自动登录【非防检测】

    许多大学仔沉迷于自动登录校园网无法自拔,却苦逼于没有找到适合自己学校的方法,为了解决这个问题,路由器网页联网认证插件,它来了。废话不多说,直接上活 需要准备:一台刷好oepnwrt的路由器、一双会动的手、一张会问问题的嘴、一个能用的脑子 一、抓包 以下是通

    2024年02月11日
    浏览(47)
  • 【linux命令讲解大全】045.网络数据分析利器:深度解读 tcpdump 抓包工具的使用方法

    tcpdump是一款在Linux上的抓包工具,用于嗅探网络数据。 补充说明 tcpdump命令是一款抓包、嗅探器工具。它可以打印所有经过网络接口的数据包的头信息,并可使用-w选项将数据包保存到文件中,以便以后进行分析。 语法 选项 -a:尝试将网络和广播地址转换成名称 -c 数据包数

    2024年02月10日
    浏览(49)
  • TP-Link路由器有线方式桥接设置图文教程

    本文介绍了TP-Link路由器有线桥接的设置方法,路由器有线桥接其实严格上应该叫做:两个(多个)路由器串联上网。主要适用于这样的网络环境:有A、B两台TP-Link路由器,A连接Moden(猫)上网,然后在用网线连接A和B,要实现B路由器也能够上网,包括B的无线网络。 方法一、路由器

    2024年02月08日
    浏览(48)
  • 锐捷睿易:路由器WAN口三种上网方式的选择

    拨号上网: 有些路由器也叫宽带上网、ADSL拨号、PPPOE拨号等 拨号上网方式是向运营商办宽带的时候,运营商会给你一个账号、密码 在路由器上WAN口设置里选择连接了光猫的口,输入运营商给的账号和密码就可以上网了  动态获取: 也叫自动获取、DHCP上网、动态IP上网等 上

    2024年02月12日
    浏览(44)
  • 腾达Tenda无线路由器如何选择及判断自己的上网方式

    常见的上网方式及比较: 注意:如还是判断不出自己的上网方式,可查看您的宽带缴费清单或直接咨询给您提供网络的运营商 上网方式.doc

    2024年02月06日
    浏览(41)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包