Verwendung des Befehls ss
Der Befehl ss im Linux-System ist die Abkürzung für Socket Statistics.
Mit dem Befehl ss können Socket-Statistiken abgerufen werden. Der angezeigte Inhalt ähnelt dem von netstat. Der Vorteil von ss ist jedoch, dass es immer detailliertere Informationen über TCP und den Verbindungsstatus anzeigen kann und schneller als netstat ist. Wenn die Anzahl der Socket-Verbindungen auf dem Server sehr groß wird, unabhängig davon, ob Sie den Befehl netstat oder direkt cat / proc / net / tcp verwenden, ist die Ausführungsgeschwindigkeit sehr langsam. Der Befehl ss verwendet tcp_diag im TCP-Protokollstapel. tcp_diag ist ein Modul zur Analyse von Statistiken, mit dem Informationen aus erster Hand im Linux-Kernel abgerufen werden können, sodass die Leistung des Befehls ss wesentlich besser ist. Mit anderen Worten, der Befehl ss ist effizient und genau.
Der Befehl ss unterstützt Befehlskombinationen, ähnlich wie netstat, wie z.
1. Zeigen Sie den Port an, den der Host abhört
ss -tnl
[root@centos7 mnt]# ss -tlnr
State Recv-Q Send-Q Local Address:Port Peer Address:Port
LISTEN 0 128 *:111 *:*
LISTEN 0 5 centos7:53 *:*
LISTEN 0 128 *:22 *:*
LISTEN 0 128 localhost:631 *:*
LISTEN 0 100 localhost:25 *:*
LISTEN 0 128 localhost:6010 *:*
LISTEN 0 128 :::111 :::*
LISTEN 0 128 :::80 :::*
LISTEN 0 128 :::22 :::*
LISTEN 0 128 localhost:631 :::*
LISTEN 0 100 localhost:25 :::*
LISTEN 0 128 localhost:6010 :::*
Wir können sehen, dass der lokale Computer die TCP-Ports 111, 53, 22, 631, 25, 6010, 80, 25 geöffnet hat. Dies ist der SMTP-Dienst 25, SSH-22, DNS-53, http-80, Xshell-631, Cupsd-6010, überbrückte Netzwerkkarte von Docker-111
2. Analysieren Sie die IP- und Portnummer mit der Option -r
ss -tlr
[root@centos7 mnt]# ss -tlr
State Recv-Q Send-Q Local Address:Port Peer Address:Port
LISTEN 0 128 *:rpc.portmapper *:*
LISTEN 0 5 centos7:domain *:*
LISTEN 0 128 *:ssh *:*
LISTEN 0 128 localhost:ipp *:*
LISTEN 0 100 localhost:smtp *:*
LISTEN 0 128 localhost:x11-ssh-offset *:*
LISTEN 0 128 :::rpc.portmapper :::*
LISTEN 0 128 :::http :::*
LISTEN 0 128 :::ssh :::*
LISTEN 0 128 localhost:ipp :::*
LISTEN 0 100 localhost:smtp :::*
LISTEN 0 128 localhost:x11-ssh-offset :::*
3. Verwenden Sie die Option -p, um den Namen des Programms anzuzeigen, das den Port überwacht
ss -tlp
4. Sie können auch grep verwenden, um den Listening-Port weiter zu filtern
ss -tlp | grep ssh
[root@centos7 mnt]# ss -tlp | grep ssh
LISTEN 0 128 *:ssh *:* users:(("sshd",pid=1015,fd=3))
LISTEN 0 128 127.0.0.1:x11-ssh-offset *:* users:(("sshd",pid=1839,fd=9))
LISTEN 0 128 :::ssh :::* users:(("sshd",pid=1015,fd=4))
LISTEN 0 128 ::1:x11-ssh-offset :::* users:(("sshd",pid=1839,fd=8))
5. Zeigen Sie die hergestellte TCP-Verbindung an
ss-tna
Die estab-Zeile zeigt an, dass der Computer 192.168.0.2:49899 über ssh mit 192.168.0.17 verbunden ist und der Computer 17 der standardmäßig verwendete ssh-Port ist.
[root@centos7 mnt]# ss -tan
State Recv-Q Send-Q Local Address:Port Peer Address:Port
LISTEN 0 128 *:111 *:*
LISTEN 0 5 192.168.122.1:53 *:*
LISTEN 0 128 *:22 *:*
LISTEN 0 128 127.0.0.1:631 *:*
LISTEN 0 100 127.0.0.1:25 *:*
LISTEN 0 128 127.0.0.1:6010 *:*
ESTAB 0 52 192.168.0.17:22 192.168.0.2:49899
LISTEN 0 128 :::111 :::*
LISTEN 0 128 :::80 :::*
LISTEN 0 128 :::22 :::*
LISTEN 0 128 ::1:631 :::*
LISTEN 0 100 ::1:25 :::*
LISTEN 0 128 ::1:6010 :::*