Wie überprüfe ich geöffnete / geschlossene Ports auf meinem Computer?

135

Wie überprüfe ich die geöffneten / geschlossenen Ports auf meinem Computer?

Ich habe netstat -aauf der Kommandozeile verwendet.

  • Zeigt der Portstatus "LISTENING" an, dass der Port offen ist?
  • Ist irgendein Port, der nicht in der Ausgabe angezeigt wird, geschlossen?
Router
quelle
Überprüfen Sie diesen Beitrag auf AskUbuntu! .
Justgivemeaname
2
@Justgivemeaname: nmapist ein Tool zum Überprüfen auf offene Ports auf einem anderen Host. Wenn Sie netstatauf einer Maschine laufen können , ist die Verwendung viel schneller und zuverlässiger.
David Foerster
@ DavidFoerster: Wusste nicht netstat, also habe ich das gelernt. In dem Link steht jedoch, dass es von einem anderen Host verwendet werden soll. Vielen Dank!
Justgivemeaname

Antworten:

163

Es gibt ein paar Parameter, netstatdie dafür nützlich sind:

  • -loder --listeningzeigt nur die Sockets an, die gerade auf eingehende Verbindungen warten.
  • -aoder --allzeigt alle aktuell verwendeten Sockets an.
  • -toder --tcpzeigt die TCP-Sockets.
  • -uoder --udpzeigt die udp sockets.
  • -noder --numericzeigt die Hosts und Ports als Zahlen an, anstatt sie in DNS aufzulösen und in / etc / services nachzuschlagen.

Sie verwenden eine Mischung aus diesen, um das zu bekommen, was Sie wollen. Verwenden Sie eine der folgenden Optionen, um zu ermitteln, welche Portnummern derzeit verwendet werden:

netstat -atn           # For tcp
netstat -aun           # For udp
netstat -atun          # For both

In der Ausgabe werden alle genannten Ports verwendet, die entweder auf eingehende Verbindungen warten oder mit einem Peer verbunden sind. ** Alle anderen werden geschlossen. TCP- und UDP-Ports sind 16 Bit breit (sie reichen von 1-65535)

** Sie können auch eine Verbindung zum Peer herstellen oder diese trennen.

kbenoit
quelle
71

Sie können diesen Befehl verwenden:

netstat -tulnp | grep <port no>

Wenn es einen Prozess zeigt, wird er verwendet. Es ist geschlossen (nicht verwendet), wenn keine Ausgabe erfolgt.

Kashminder
quelle
20

Eine weitere alternative Befehlszeile, mit der Sie leicht herausfinden können, welcher Prozess einen Port verwendet:

lsof -n -i4TCP:$PORT | grep LISTEN

Ich habe die nächste Funktion in meinem .bash_profile hinzugefügt,

function pslisten {
    echo `lsof -n -i4TCP:$1 | grep LISTEN`
}

und jetzt "pslisten 5060" ausführen, um zu sehen, wer meinen SIP-Port belegt.

Es funktioniert auch mit Apple Mac OS X.

Fernando Santucci
quelle
13

Zeigt der Portstatus "LISTENING" an, dass der Port geöffnet ist?

Ja. Dies bedeutet, dass ein Dienst diesen Port auf Ihrem Computer auf eingehende Verbindungen überwacht, dh dieser Port ist offen, um neue Verbindungen herzustellen.

Gibt ein Port, der in der Ausgabe nicht angezeigt wird, an, dass er geschlossen ist?

Ja. Denken Sie netstat -adaran, dass alle aktiven ( lauschenden ) und passiven ( nicht lauschenden ) Verbindungen angezeigt werden, dh die Ports, die als beide Server fungieren (einige Dienste überwachen diese Ports auf Verbindungen von einem anderen Computer / Prozess) und hergestellt werden (Verbindungen werden auf diesen hergestellt) Ports, unabhängig davon, ob der Host / ein Service ein Server oder ein Client sein kann)

Alle TCP- und UDP-Ports gehören zu einer Kategorie, die Sockets genannt wird, und es gibt viele davon. Um Socket-Informationen anzuzeigen, können Sie dies überprüfen man ss.

heemayl
quelle
Vielen Dank. Du hast geschrieben, das -aheißt Server und eingerichtet. Bedeutet "Server" Ports, die von einigen Diensten abgehört werden? Bedeutet "hergestellt", dass Ports vorhanden sind, unabhängig davon, ob es sich um einen Client- oder einen Server-Port handelt? Welche Arten von Ports werden dann -anicht angezeigt?
Tim
Ich glaube nicht, dass die -aOption "alle aktiven" Sockets bedeutet. es bedeutet einfach "alles". netstat zeigt standardmäßig alle aktiven Sockets an, lässt jedoch die passiven Sockets (offen, lauschend) aus. Mit der -aOption werden sowohl aktive als auch passive Buchsen angezeigt.
Egon Olieux
@EgonOlieux Danke. Ich stehe korrigiert; hat die Antwort bearbeitet.
Heemayl
@heemayl Der zweite Teil deiner Antwort ist immer noch nicht korrekt. Ein TCP-Socket im Status "Listening" kann niemals eine Verbindung sein. es ist mit nichts verbunden, es hört nur zu. Abhörende TCP-Sockets werden daher auch als passive Sockets bezeichnet. Wenn ein Client versucht, eine Verbindung zu einem (empfangsbereiten) Socket auf einem Server herzustellen, wird auf dem Server ein neuer Socket erstellt, um eine Verbindung mit dem Client herzustellen. Ein Socket, der Teil einer bestehenden Verbindung ist, wird als aktiver Socket bezeichnet.
Egon Olieux
3

Eine weitere Option ist ss . Es ist viel einfacher zu bedienen ....

Der folgende Befehl gibt nur eine Liste der aktuellen Hörbuchsen aus.

root@server:~# ss -l

    Netid  State      Recv-Q Send-Q                                     Local Address:Port                                                      Peer Address:Port   


u_dgr  UNCONN     0      0                                                      * 23353                                                                * 23352                
u_dgr  UNCONN     0      0                                                      * 568                                                                  * 362                  
u_dgr  UNCONN     0      0                                                      * 14836                                                                * 14837                
u_dgr  UNCONN     0      0                                                      * 20446                                                                * 369                  
u_dgr  UNCONN     0      0                                                      * 22877                                                                * 369                  
u_dgr  UNCONN     0      0                                                      * 504                                                                  * 347                  
u_dgr  UNCONN     0      0                                                      * 16298                                                                * 369                  
u_dgr  UNCONN     0      0                                                      * 23343                                                                * 369                  
u_dgr  UNCONN     0      0                                                      * 24125                                                                * 369                  
u_dgr  UNCONN     0      0                                                      * 24617                                                                * 369                  
u_dgr  UNCONN     0      0                                                      * 23352                                                                * 23353                
u_dgr  UNCONN     0      0                                                      * 23334                                                                * 369                  
u_dgr  UNCONN     0      0                                                      * 17113                                                                * 369                  
u_dgr  UNCONN     0      0                                                      * 16957                                                                * 369                  
u_dgr  UNCONN     0      0                                                      * 14793                                                                * 362                  
u_dgr  UNCONN     0      0                                                      * 23345                                                                * 362                  
u_dgr  UNCONN     0      0                                                      * 24070                                                                * 369                  
udp    UNCONN     0      0                                                      *:sunrpc                                                               *:*                    
udp    UNCONN     0      0                                                      *:981                                                                  *:*                    
udp    UNCONN     0      0                                                     :::sunrpc                                                              :::*                    
udp    UNCONN     0      0                                                     :::981                                                                 :::*                    
tcp    LISTEN     0      128                                            127.0.0.1:85                                                                   *:*                    
tcp    LISTEN     0      128                                                    *:ssh                                                                  *:*                    
tcp    LISTEN     0      128                                                    *:3128                                                                 *:*                    
tcp    LISTEN     0      100                                            127.0.0.1:smtp                                                                 *:*                    
tcp    LISTEN     0      128                                                    *:8006                                                                 *:*                    
tcp    LISTEN     0      128                                                    *:sunrpc                                                               *:*                    
tcp    LISTEN     0      128                                                   :::ssh                                                                 :::*                    
tcp    LISTEN     0      100                                                  ::1:smtp                                                                :::*                    
tcp    LISTEN     0      128                                                   :::sunrpc                                                              :::*                    
zee
quelle
1
Ich wusste nichts davon, danke zee
nick fox
2

Oder dies kann helfen, indem Sie watch verwenden und dann mit dem herumspielen, was Sie sehen möchten.

sudo watch -d -n0 "netstat -atnp | grep ESTA"

sudo watch -d -n0 "netstat -tulnp | grep ESTA"
Ian Croasdell
quelle
1
-a widerspricht -l, -a greift nach allem, ob ESTABLISHED oder LISTENING, und -l greift nur nach LISTENING. In Wirklichkeit ist es also '-ltnp' tcp, '-lunp' udp oder '-ltunp' tcp + udp
ModerateJavaScriptDev
1

Eigentlich gibt es einen besseren Weg, um zu sehen, welche Ports Sie geöffnet haben. Das Problem mit netstatoder lsofist, dass sie den Netzwerkstapel abfragen und tatsächlich keine Verbindung zum Computer herstellen, sondern stattdessen versuchen, festzustellen, was auf dem System ausgeführt wird. Der bessere Ansatz ist, nmapwie folgt vorzugehen:

nmap -sT -O localhost

Offene Häfen sehen.

Entwickler
quelle
0
  1. Versuchen Sie dies, um eine Liste der geöffneten Ports in diesem Bereich zu erhalten.

    for p in {1..1023}
    do
       (echo >/dev/tcp/localhost/$p) >/dev/null 2>&1 && echo "$p open"
    done
  2. Und dieser Befehl wird zeigen, was es ist!

    cat /etc/services | grep {PORTNumber}
Tiborcz Kuss
quelle