简单的企业网站php,WordPress前台用户发布,做电影网站用什么程序,个人网站论坛展示tcpdump是一个强大的命令行工具#xff0c;用于捕获和分析TCP、UDP、ICMP等协议的网络流量。
功能与用途
捕获网络流量#xff1a;tcpdump可以捕获和显示来自本地计算机或通过网络传输的数据包#xff0c;提供有关数据包的详细信息#xff0c;如源和目的IP地址、端口号、… tcpdump是一个强大的命令行工具用于捕获和分析TCP、UDP、ICMP等协议的网络流量。
功能与用途
捕获网络流量tcpdump可以捕获和显示来自本地计算机或通过网络传输的数据包提供有关数据包的详细信息如源和目的IP地址、端口号、协议类型、数据长度等。分析数据包通过捕获的数据包tcpdump可以帮助用户分析网络问题如延迟、丢包、重传等对于网络调试、安全审计和性能优化等方面非常有用。过滤功能tcpdump支持针对网络层、协议、主机、网络或端口的过滤并提供and、or、not等逻辑语句来帮助用户去掉无用的信息专注于分析特定类型的流量。 软件安装
yum install -y tcpdump #centos系统
apt-get install -y tcpdump #ubuntu系统
语法格式及常用选项
tcpdump[ -adeflnNOpqStvx ] [ -c 数量 ] [ -F 文件名 ] [ -i 网络接口 ] [ -r 文件名] [ -s snaplen] [ -T 类型 ] [ -w 文件名 ] [表达式 ]
文件操作参数 参数 描述 -nn 直接以IP及port号码显示而非显示主机名与服务名称 -w 将监听所得到的数据包内容存储下来输出结果至文件 -W 指定输出文件的最大数量到达后会重新覆写第1个文件 -r 读取一个抓包文件 -C 限制输入文件的大小超出以后后缀加1等数字的形式递增注意单位是1000000字节 -G 指定每隔N秒就重新输出至新文件注意-w参数应该基于strftime参数指定文件名
监听及停止条件参数 参数 描述 -D 列举所有网卡设备 -i 后面接要监听的网络接口设备例如eth0、lo、ppp0等的界面 -c 监听的数据包数如果没有这个参数tcpdump会持续不断监听 -s 指定每条报文的最大字节数默认是262144字节可以设置大小 –time-stamp-precision 制定捕获时的时间精度默认是毫秒级micro可选选择纳秒nano
输出时间戳格式参数 参数 描述 -t 不显示时间戳 -tt 自1970年1月1日0点至今的秒数 -ttt 显示邻近两行报文间经过的秒数 -tttt 自第一个监听的报文起经历的秒数
分析信息详情参数据 参数 描述 -e 使用数据链路层OSI第二层的MAC数据包数据来显示 -q 仅列出较为简单的数据包信息每一行的内容比较精简 -v 显示网络层头部更多的信息如TTL、id等 -n 显示IP地址、数字端口代替hostname等 -S TCP 信息以绝对序列号代替相对序列号 -A 数据包的内容以ASCII格式显示通常用来监听WWW网页数据包数据 -x 以16进制方式显示报文内容不显示数据链路层 -xx 以16进制方式显示报文内容显示数据链路层 -X 可以列出十六进制hex以及ASCII的数据包内容不显示数据链路层 -XX 可以列出十六进制hex以及ASCII的数据包内容显示数据链路层
参考例子
1、查看本机全部网卡信息
如果我们想快速查看本机全部网卡设备信息使用tcpdump代替ifconfig会更加高效包括网桥设备br0、docker0、虚拟机网卡virbr0、蓝牙网卡bluetooth0、usb总线接口usbmon1、usbmon2、本机网卡ens33、回环地址lo等常见设备信息系统对查询出的全部网卡接口设备进行编号。
tcpdump -D
2、监听指定网卡的数据包信息
监听ens33网卡上的全部网络数据包需要显示IP及PORT号码持续收到6条数据包以后自动停止
tcpdump -i ens33 -nn -c 6
3、将监听的数据包数据保存至文件
使用tcpdump监听经过ens33网卡的数据包将数据包每隔3秒时长写入一个特定格式文件(文件生成格式定义为def%M-%S)并且读取其中一个生成文件的内容
tcpdump -i ens33 -G 3 -w def%M-%S
ll def*
tcpdump -r def04-11
tcpdump条件表达式详解
主机过滤
host、src host、dst host设置主机、来源主机、目的主机作为过滤条件
例如tcpdump -nn host 192.168.31.101 代表过滤指定主机IP地址的网络数据包。
网络过滤
net、src net、dst net: 设置网段、来源网段、目的网段作为过滤条件
例如tcpdump net -nn 192.168.0.0 代表过滤指定网段的网络数据包
端口过滤
port、src port、dst port、portrange设置端口、来源端口、目的端口、端口范围作为过滤条件
例如tcpdump -nn dst port 80 代表过滤从目的端口80发来的网络数据包
协议过滤
可以指定网络协议类型包括ether、fddi、tr、wlan、ip、ip6、arp、rarp、tcp、udp、icmp、igmp、icmp、igrp、pim、ah、esp、vrrp等
例如tcpdump -nn icmp or tcp 代表过滤icmp协议或者tcp协议数据包。
逻辑表达式过滤
and、or(||)、not(!): 分别代表并且、或者、非逻辑运算
例如tcpdump ‘src host 192.168.31.101 and dst port 8080’ 代表监听源IP是192.168.31.101主机发送给目的端口8080的所有数据包。
特定状态过滤
tcp[tcpflas]: 按照tcp指定状态标志位进行过滤
例如 tcpdump -i eth0 -nn ‘tcp[tcpflags] tcp-syn or tcp[tcpflags] tcp-ack’ 代表希望同时捕获syn类型和ack类型的数据包
综合
如何使用tcpdump命令实现如下监控目标1.监听来自ens33网卡数据通信协议为port 22目标数据包来源为192.168.31.101的数据包请给出正确答案。
tcpdump -i eth0 -nn ‘port 22 and src 192.168.1.101’