Redhat Enterprise Linux 5/CentOS 5监视和跟踪网络上的TCP连接(eth0)

时间:2020-01-09 10:43:28  来源:igfitidea点击:

问题描述:如何在Redhat Enterprise Linux(RHEL)5服务器下跟踪和监视eth1公共网络接口的连接?

您可以使用netstat命令或者tcptrack命令。
这两个命令都可以显示已建立的TCP连接,并提供监视该连接的能力。

netstat命令

netstat命令显示有关Linux网络子系统的信息。
它也可以在UNIX和* BSD oses下工作。
它可以显示网络连接,路由表,接口统计信息,伪装连接和多播成员身份等。

netstat命令显示已建立的连接

执行命令,如下所示:

$ netstat -nat

输出:

Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State      
tcp        0      0 127.0.0.1:2208          0.0.0.0:*               LISTEN     
tcp        0      0 0.0.0.0:52459           0.0.0.0:*               LISTEN     
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN     
tcp        0      0 0.0.0.0:10000           0.0.0.0:*               LISTEN     
tcp        0      0 127.0.0.1:8080          0.0.0.0:*               LISTEN     
tcp        0      0 0.0.0.0:1521            0.0.0.0:*               LISTEN     
tcp        0      0 0.0.0.0:53              0.0.0.0:*               LISTEN     
tcp        0      0 127.0.0.1:631           0.0.0.0:*               LISTEN     
tcp        0      0 0.0.0.0:3128            0.0.0.0:*               LISTEN     
tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN     
tcp        0      0 127.0.0.1:31323         0.0.0.0:*               LISTEN     
tcp        0      0 127.0.0.1:2207          0.0.0.0:*               LISTEN     
tcp        0      0 192.168.1.100:59917     10.16.48.98:291         ESTABLISHED
tcp        0      0 127.0.0.1:3128          127.0.0.1:49413         TIME_WAIT  
tcp        0      0 127.0.1.1:54624         127.0.1.1:1521          ESTABLISHED
tcp        0      0 127.0.1.1:1521          127.0.1.1:54624         ESTABLISHED
tcp        0      0 192.168.1.100:55914     74.125.19.147:80        ESTABLISHED
tcp        0      0 127.0.0.1:3128          127.0.0.1:42471         TIME_WAIT  
tcp        0      0 192.168.1.100:56357     10.16.48.98:993         ESTABLISHED
tcp        0      0 192.168.1.100:56350     10.16.48.98:993         ESTABLISHED
tcp6       0      0 :::53                   :::*                    LISTEN     
tcp6       0      0 :::22                   :::*                    LISTEN

仅显示客户端/服务器已建立的连接:

$ netstat -nat | grep 'ESTABLISHED'

tcptrack命令

tcptrack命令显示在给定网络接口上看到的TCP连接的状态。

tcptrack监视它们的状态,并在排序后的更新列表中显示状态,源/目标地址和带宽使用情况等信息,这与top命令非常相似。

安装tcptrack

Redhat(RHEL)/Fedora/CentOS用户,请在此处下载tcptract。
例如下载RHEL 64位版本:

# cd /tmp/
# wget http://dag.wieers.com/rpm/packages/tcptrack/tcptrack-1.1.5-1.2.el5.rf.x86_64.rpm
# rpm -ivh tcptrack-1.1.5-1.2.el5.rf.x86_64.rpm

Debian/Ubuntu Linux用户使用apt-get如下:

$ sudo apt-get install tcptrack

如何使用tcptract监视和跟踪TCP连接?

tcptrack只需要一个参数即可运行,即eth0,eth1等接口的名称。
请使用-i标志,后跟要tcptrack监视的接口名称。

# tcptrack -i eth0
# tcptrack -i eth1

(正在运行的tcptrack)

您可以只监视TCP端口25(SMTP)

# tcptrack -i eth0 port 25

下一个示例将仅显示端口80上的Web流量监视:

# tcptrack -i eth1 port 80

tcptrack也可以将pcap过滤器表达式作为参数。
该过滤器表达式的格式与tcpdump和其他基于libpcap的嗅探器的格式相同。
以下示例仅显示来自主机76.11.22.12的连接:

# tcptrack -i eth0 src or dst 76.11.22.12

有关更多选项,请参考netstat和tcptrack命令的手册页。