用简单的话来定义tcpdump,就是:dump the traffic on a network,根据使用者的定义对网络上的数据包进行截获的包分析工具。
tcpdump可以将网络中传送的数据包的“头”完全截获下来提供分析。它支持针对网络层、协议、主机、网络或端口的过滤,并提供and、or、not等逻辑语句来帮助你去掉无用的信息。
tcpdump基于底层libpcap库开发,运行需要root权限。
tcpdump version 4.0。
libpcap version 1.1.1 表示libpcap的版本。
选项说明:
命令:
说明:
tcpdump截取包默认显示数据包的头部。
普通情况下,直接启动tcpdump将监视第一个网络接口上所有流过的数据包。
基础格式:时间 数据包类型 源IP 端口/协议 > 目标IP 端口/协议 协议详细信息
按下Ctrl+C会终止tcpdump命令。且会在结尾处生成统计信息。
终止tcpdump
指定抓取2个数据包。
命令:
说明:
最后会自动生成统计信息。
【注意,已经切换到管理员了,虚拟机中要产生数据包,可以另外开一个窗口ping baidu.com后面不再提示】
ping baidu.com
使用-w选项指定记录文件。
命令:
说明:
保存的文件不是文本格式,不能直接查看。tcpdump保存的文件的格式是几乎所有主流的抓包工具软件都可以读取。所以可以使用更易读的图形界面工具来查看记录文件。
使用-r选项读取文件。
命令:
![读取记录文件
命令:
其中网卡为eth0。
命令:
如果不指定网卡,默认tcpdump只会监视第一个网络接口,一般是eth0。
选项-v,-vv可以显示更详细的抓包信息。
tcpdump -v
tcpdump -vv
使用-n后,tcpdump会直接显示IP地址,不会显示域名(与netstat命令相似)。
tcpdump的所有输出打印行中都会默认包含时间戳信息;时间戳信息的显示格式如下
此时间戳的精度与内核时间精度一致, 反映的是内核第一次看到对应数据包的时间;
而数据包从物理线路传递到内核的时间, 以及内核花费在此包上的中断处理时间都没有算进来;
使用-tttt选项,抓包结果中将包含抓包日期:
命令:
增加抓包时间戳
tcpdump可以只抓某种协议的包,支持指定以下协议:「ip,ip6,arp,tcp,udp,wlan」等。
命令:
使用port参数,用于指定端口号。
命令:tcpdump tcp port 80
使用portrange参数,用于指定端口范围。
命令:tcpdump tcp portrange 1-1024
src 表示源。
dst 表示目标。
命令:
tcpdump src port 8080
tcpdump dst port 80
使用host指定需要监听的主机。
命令:
注意:若使用了host参数使用了计算机名或域名。例tcpdump host shi-pc ,则无法再使用-n选项。
使用greater(大于)与less(小于)可以指定数据包大小的范围。
「例:只抓取大于1000字节的数据包。」
命令:
「例:只抓取小于10字节的数据包。」
命令:
使用基本逻辑组合拼装出更精细的过滤条件。
逻辑与关系,使用and。
命令:
逻辑或关系,使用or。
命令:
逻辑非关系,使用not,也可以使用 ! 。
若使用 ! 必须与其后面的字符隔开一个空格。
例:当通过ssh协议远程使用tcpdump时,为了避免ssh的数据包的输出,所以一般需要禁止ssh数据包的输出。
命令:
括号需要使用在引号内,或转意使用。否则会报错。
例:抓取非22端口,且主机为192.168.1.112 和 192.168.1.113的TCP数据包。
命令:
23为telnet的端口
123 为ntp的服务端口
tcpdump 对截获的数据并没有进行彻底解码,数据包内的大部分内容是使用十六进制的形式直接打印输出的。
显然这不利于分析网络故障,通常的解决办法是先使用带**-w参数的tcpdump 截获数据并保存到文件中**,然后再使用其他程序(如Wireshark)进行解码分析。当然也应该定义过滤规则,以避免捕获的数据包填满整个硬盘。
tcpdump默认不显示数据包的详细内容。
使用-A参数能以ASCII码显示数据包。
例:只抓取1个数据包,并显示其内容。
命令:
使用-X参数能16进制数与ASCII码共同显示数据包。
例:只抓取1个数据包,并显示其内容。
命令:
(以前是ethereal)是Windows下非常简单易用的抓包工具,现在也有Linux版本。
通过Tcpdump抓取的数据包分析比较麻烦,要想很方便的分析数据包, 我们可以用Tcpdump + Wireshark 的完美组合实现:在 Linux 里抓包,然后在Windows 里分析包。
保存数据包为wireshark能识别的文件:
参数 | 含义 |
---|---|
tcp | ip icmp arp rarp 和 tcp、udp、icmp这些选项等都要放到第一个参数的位置,用来过滤数据报的类型 |
-i eth1 | 只抓经过接口eth1的包 |
-t | 不显示时间戳 |
-s 0 | 抓取数据包时默认抓取长度为68字节。加上-S 0 后可以抓到完整的数据包 |
-c 100 | 只抓取100个数据包 |
dst port ! 22 | 不抓取目标端口是22的数据包 |
src net 192.168.1.0/24 | 数据包的源网络地址为192.168.1.0/24 |
-w ./target.cap | 保存成cap文件,方便用ethereal(即wireshark)分析 |
IBUS 是 linux 下的输入框架,框架内的各种输入法是 Ubuntu 默认的非英文输入方式。新安装的 Ubuntu 系统,如果选择了中文环境,系统首次联网成功后,会提示用户下载 IBUS 下的拼音和五笔输入码表并安装,但并不默认启用相应的输入法。下面就分...
ubuntu中文输入法IBUS
如果你在 2021 年仍然在依赖 Apache OpenOffice 这一开源办公套件,那么请尽快升级至 OpenOffice 4.1.10 版本。Apache OpenOffice 4.1.10 近日正式发布,以解决一个影响 OpenOffice 所有版本的...
漏洞服务器安全ApacheOpenOffice
7月31日至8月5日期间,Black Hat USA 2021在拉斯维加斯举行。这场为期六天的安全盛会内容涉及信息安全研究、开发和趋势的最新情况等。安全研究人员和从业人员也分享了大量用于渗透测试、逆向工程、恶意软件防御等的新型网络安全工具,渗透测试人员、防御者...
服务器安全安全工具blackhatScrapesy
云服务器供应商安装的系统,比如Windows Server 2016等等,没有Windows自动更新按钮。找不到Windows 自动更新入口,当然无法自动更新,可以试下下面这个方法。一、常规服务器的控制面板控制面板会有Windows自动更新按钮二、云服务器供应...
云服务器