Linux系统怎样查看网络连接情况?

Linux系统网络相关命令

在Linux下怎样检查网络连接,包括其状态,源/目标,地址和带宽使用情况呢?主要有:
ss命令:转储套接字(网络连接)统计信息,如所有TCP / UDP连接,每个协议建立的连接(例如,显示所有建立的ssh连接),显示各种状态下的所有tcp套接字,如ESTABLISHED或FIN-WAIT-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
TcpExt:
    592 invalid SYN cookies received
    396 resets received for embryonic SYN_RECV sockets
    InBcastPkts: 10

显示所有打开的网络端口

命令

#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 192.168.1.101:53        0.0.0.0:*               LISTEN      1343/named      
tcp        0      0 127.0.0.1:53            0.0.0.0:*               LISTEN      1343/named      
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      979/sshd        
tcp        0      0 127.0.0.1:631           0.0.0.0:*               LISTEN      1828/cupsd      
tcp        0      0 0.0.0.0:7001            0.0.0.0:*               LISTEN      10129/transmission
tcp        0      0 0.0.0.0:25              0.0.0.0:*               LISTEN      1694/master     
tcp        0      0 127.0.0.1:953           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  
udp        0      0 192.168.1.101:33843     0.0.0.0:*                           11937/opera     
udp        0      0 10.1.11.27:53           0.0.0.0:*                           1343/named      
udp        0      0 192.168.1.101:53        0.0.0.0:*                           1343/named      
udp        0      0 127.0.0.1:53            0.0.0.0:*                           1343/named      
udp        0      0 0.0.0.0:68              0.0.0.0:*                           5840/dhclient   
udp        0      0 127.0.0.1:11211         0.0.0.0:*                           1550/memcached  
udp        0      0 0.0.0.0:7001            0.0.0.0:*                           10129/transmission
udp        0      0 10.1.11.27:33372        0.0.0.0:*                           11937/opera     
udp6       0      0 :::53                   :::*            

显示所有的TCP套接字连接

# ss -t -a

或者

# netstat -nat

显示所有的UDP套接字连接

# ss -u -a

或者

# netstat -nau

查看已建立的连接情况

# netstat -natu | grep 'ESTABLISHED'

使用tcptrack命令查看TCP连接情况

tcptrack命令显示在给定网络接口上看到的TCP连接的状态。 tcptrack监视其状态,并在排序更新的列表中显示非常类似于top命令的状态,源/目标地址和带宽使用等信息。
命令如下:

# tcptrack -i eth0

使用iftop命令查看端口速率情况

iftop命令侦听给定网络接口(如eth0)上的网络流量,并显示主机数目的当前带宽使用情况:

# iftop -i eth1

并且iftop命令还可以查看某一个网段的数据包流入和流出情况,例如查看192.168.1.0/24网段的数据流:

# iftop -F 192.168.1.0/24

By Code问答

怎样注册AI域名?

AI域名

AI域名和com,info,org域名不同,它是属于安圭拉(Anguilla)的国家代码顶级域名(Country Code top-level domain – ccTLD),和中国的cn域名,英国的uk域名类似。安圭拉是英属的一个小岛国,根据国家名字缩写得来的AI域名,正好人工智能兴起之后,很多公司或者个人希望注册一个AI的域名,但是在Godaddy上或者阿里云上都没有办法注册AI域名。

注册AI域名

我在Google上搜索了一下AI域名的注册,实际上资料并不多,当然中文资料就更少了。

可以注册的域名提供商有以下几家:

EURODNS:
https://www.eurodns.com/

101domain:
https://my.101domain.com/

Marcaria:
https://www.marcaria.com

Instra:
https://www.instra.com/

Onlydomains:
https://www.onlydomains.com/

但是注册AI域名的时候要比较慎重,上面的这些域名商不会像Godaddy那样值得信任,有很多人在网上面吐槽101的客服非常的糟糕,并且在Quara用户给出了比较一致的评价:非常不值得信赖(link)。也有关于eurodns乱收费的讨论等。

并且重要的一点是,AI域名相比于com域名,要贵很多,一般是注册两年,折合人名币要一两千,对于普通的域名,AI域名要比COM域名贵10倍。

说了那么多,我并没有真正注册一个AI域名。

By Code问答