上边的输出信息中不仅包含了端口号,而且还包括了服务的版本号。在网络安全性要求较高的主机上,最好能够屏蔽服务版本号,以防止黑客利用特定版本的服务漏洞进行攻击。
2.6 tcpdump:监听网络流量 2.6.1 命令详解功能说明:
tcpdump命令是一个截获网络数据包的包分析工具。tcpdump可以将网络中传送的数据包的“头”完全截获下来以提供分析。它支持针对网络层,协议,主机,端口等的过滤,并支持与,或,非逻辑语句协助过滤有效信息。
tcpdump命令工作时要先把网卡的工作模式切换到混杂模式(promiscuous mode)。因为要修改网络接口的工作模式,所以tcpdump命令需要以root的身份运行。
选项说明:
参数选项 解释说明(带@的为重点)-A 以ASCII码的方式显示每一个数据包(不会显示数据包中链路层的头部信息)。在抓取包含网页数据的数据包时,可方便查看数据
-c <数据包数目> 接收到指定的数据包数目后退出命令@
-e 每行的打印输出中将包含数据包的数据链路层头部信息
-i <网络接口> 指定要监听数据包的网络接口@
-n 不进行DNS解析,加快显示速度@
-nn 不将协议和端口数字等转换成名字@
-q 以快速输出的方式运行,此选项仅显示数据包的协议概要信息,输出信息较短@
-s <数据包大小> 设置数据包抓取长度,如果不设置则默认为68字节,设置为0则自动选择合适的长度来抓取数据包
-t 在每行输出信息中不显示时间戳标记
-tt 在每行输出信息中显示无格式的时间戳标记
-ttt 显示当前行与前一行的延迟
-tttt 在每行打印的时间戳之前添加日期
-ttttt 显示当前行与第一行的延迟
-v 显示命令执行的详细信息
-vv 显示比-v选项更加详细的信息
-vvv 显示比-vv选项更加详细的输出
2.6.2 使用范例
(1)不加参数运行tcpdump命令监听网络
[root@localhost ~]# tcpdump #默认情况下,直接启动tcpdump将监视第一个网络接口上所有流过的数据包 tcpdump: verbose output suppressed, use -v or -vv for full protocol decode listening on eth0, link-type EN10MB (Ethernet), capture size 65535 bytes 05:12:45.464963 IP localhost.ssh > localhost.50832: Flags [P.], seq 898292388:898292596, ack 861396487, win 317, length 208 05:12:45.465055 IP localhost.50832 > localhost.ssh: Flags [.], ack 208, win 523, length 0 05:12:45.465215 IP localhost.57595 > localhost.domain: 4104+ PTR? 254.0.168.192.in-addr.arpa. (44) 05:12:45.467851 IP localhost.domain > localhost.57595: 4104 1/0/0 PTR localhost. (67) 05:12:45.467906 IP localhost.57067 > localhost.domain: 107+ PTR? 233.0.168.192.in-addr.arpa. (44) 05:12:45.469444 IP localhost.domain > localhost.57067: 107 1/0/0 PTR localhost. (67) 05:12:45.469504 IP localhost.34192 > localhost.domain: 2703+ PTR? 1.0.168.192.in-addr.arpa. (42) 05:12:45.621206 IP localhost.ssh > localhost.50832: Flags [P.], seq 3120:3280, ack 1, win 317, length 160 05:12:45.621258 IP localhost.50832 > localhost.ssh: Flags [.], ack 3280, win 524, length 0 05:12:45.636742 IP localhost.ssh > localhost.50832: Flags [P.], seq 3280:3536, ack 1, win 317, length 256 05:12:45.643843 IP localhost.50832 > localhost.ssh: Flags [P.], seq 1:65, ack 3536, win 523, length 64 05:12:45.643889 IP localhost.ssh > localhost.50832: Flags [P.], seq 3536:3696, ack 65, win 317, length 160 ^C #tcpdump命令在运行期间可以使用组合Ctrl+C终止程序 29 packets captured #最后三行就是按CTRL+C后输出的监听到的数据包汇总信息 32 packets received by filter 0 packets dropped by kernel使用tcpdump命令时,如果不输入过滤规则,则输出的数据量将会很大。