Linux:检查网络连接命令
时间:2020-01-09 10:37:39 来源:igfitidea点击:
如何使用命令行选项在Linux下检查网络连接?
您需要在Linux下使用以下任何工具或命令来检查网络连接,包括它们的状态,源/目标,地址和带宽使用情况等:
- ss命令:它转储套接字(网络连接)统计信息,例如所有TCP/UDP连接,每个协议已建立的连接(例如,显示所有已建立的ssh连接),以各种状态(例如ESTABLISHED或FIN-WAIT)显示所有tcp套接字-1等。
- netstat命令:它可以显示网络连接,路由表,接口等等。
- tcptrack和iftop命令:显示有关它在网络接口上看到的TCP连接的信息,并按主机分别显示接口上的带宽使用情况。
显示"当前已建立,已关闭,孤立和正在等待的TCP套接字",输入:
# ss -s
输出示例:
Total: 529 (kernel 726) TCP: 1403 (estab 286, closed 1099, orphaned 1, synrecv 0, timewait 1098/0), ports 774 Transport Total IP IPv6 * 726 - - RAW 0 0 0 UDP 27 13 14 TCP 304 298 6 INET 331 311 20 FRAG 0 0 0
或者,您可以使用netstat命令,如下所示:
# netstat -s
输出示例:
Ip: 102402748 total packets received 3 with invalid addresses 0 forwarded 0 incoming packets discarded 102192035 incoming packets delivered 95627316 requests sent out Icmp: 6726 ICMP messages received 167 input ICMP message failed. ICMP input histogram: destination unreachable: 2353 timeout in transit: 4 echo requests: 4329 10323 ICMP messages sent 0 ICMP messages failed ICMP output histogram: destination unreachable: 5994 echo replies: 4329 IcmpMsg: InType3: 2353 InType8: 4329 InType11: 4 OutType0: 4329 OutType3: 5994 Tcp: 839222 active connections openings 2148984 passive connection openings 1480 failed connection attempts 1501 connection resets received 281 connections established 101263451 segments received 94668430 segments send out 9820 segments retransmited 0 bad segments received. 1982 resets sent Udp: 1024635 packets received 18 packets to unknown port received. 0 packet receive errors 1024731 packets sent IpExt: InBcastPkts: 10
显示所有打开的网络端口
使用ss命令,如下所示:
# ss -l
输出示例:
Recv-Q Send-Q Local Address:Port Peer Address:Port 0 50 127.0.0.1:mysql *:* 0 128 127.0.0.1:11211 *:* 0 128 *:sunrpc *:* 0 128 :::www :::* 0 128 *:55153 *:* 0 3 10.1.11.27:domain *:* 0 3 192.168.1.101:domain *:* 0 3 127.0.0.1:domain *:* 0 3 :::domain :::* 0 128 :::ssh :::* 0 128 *:ssh *:* 0 128 127.0.0.1:ipp *:* 0 128 ::1:ipp :::* 0 128 :::afs3-callback :::* 0 128 *:afs3-callback *:* 0 100 *:smtp *:* 0 128 ::1:953 :::* 0 128 127.0.0.1:953 *:* 0 5 *:8000 *:*
或使用netstat命令,如下所示:
# netstat -tulpn
输出示例:
Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 127.0.0.1:3306 0.0.0.0:* LISTEN 1380/mysqld tcp 0 0 127.0.0.1:11211 0.0.0.0:* LISTEN 1550/memcached tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN 936/portmap tcp 0 0 0.0.0.0:55153 0.0.0.0:* LISTEN 1025/rpc.statd tcp 0 0 10.1.11.27:53 0.0.0.0:* LISTEN 1343/named tcp 0 0 0.0.0.0:8000 0.0.0.0:* LISTEN 1539/icecast2 tcp6 0 0 :::80 :::* LISTEN 1899/apache2 tcp6 0 0 :::53 :::* LISTEN 1343/named tcp6 0 0 :::22 :::* LISTEN 979/sshd tcp6 0 0 ::1:631 :::* LISTEN 1828/cupsd tcp6 0 0 :::7001 :::* LISTEN 10129/transmission tcp6 0 0 ::1:953 :::* LISTEN 1343/named udp 0 0 239.255.255.250:1900 0.0.0.0:* 11937/opera udp 0 0 239.255.255.250:1900 0.0.0.0:* 11937/opera udp 0 0 0.0.0.0:111 0.0.0.0:* 936/portmap udp 0 0 0.0.0.0:777 0.0.0.0:* 1025/rpc.statd udp 0 0 0.0.0.0:38297 0.0.0.0:* 1025/rpc.statd udp6 0 0 :::53 :::* 1343/named
显示所有TCP套接字
键入ss命令,如下所示:
# ss -t -a
或使用netstat命令,如下所示:
# netstat -nat
显示所有UDP套接字
键入ss命令,如下所示:
# ss -u -a
或使用netstat命令,如下所示:
# netstat -nau
lsof命令
您可以使用以下lsof命令列出有关打开的端口的更多信息:
# lsof -i :portNumber # lsof -i tcp:portNumber # lsof -i udp:portNumber # lsof -i :80 | grep LISTEN
仅查看已建立的连接
使用netstat命令,如下所示:
# netstat -natu | grep 'ESTABLISHED'
对tcptrack打个招呼
tcptrack命令显示它在给定网络接口上看到的TCP连接的状态。
tcptrack监视它们的状态,并在排序后的更新列表中显示诸如状态,源/目标地址和带宽使用情况之类的信息,这与top命令非常相似。
# tcptrack -i eth0
输出示例:
运行中的tcptrack
有关更多信息,请参见如何在Linux下安装和使用tcptrack工具。
iftop命令
iftop命令侦听给定网络接口(例如eth0)上的网络流量,并按主机对显示当前带宽使用情况的表:
# iftop -i eth1
它可以显示或分析流入和流出192.168.1.0/24网络的数据包:
# iftop -F 192.168.1.0/24