Antworten:
Verwenden Sie unter modernem Linux das Dienstprogramm ss (socket stats).
$ ss -s
Total: 10160 (kernel 10262)
TCP: 10349 (estab 8886, closed 408, orphaned 0, synrecv 0, timewait 393/0), ports 3147
Transport Total IP IPv6
* 10262 - -
RAW 0 0 0
UDP 5 5 0
TCP 9941 9941 0
INET 9946 9946 0
FRAG 0 0 0
netstat -an | grep ESTABLISHED | wc -l
gibt die Anzahl der offenen Ports an, in meinem Fall 32.
cat /proc/sys/net/ipv4/ip_local_port_range
Gibt etwas zurück wie:
32768 61000
Das heißt, 61000 - 32768 - $ OPENPORTS = AvailablePorts
Auf meiner Box ist das:
61000-32768-32 = 28200 verfügbare Portnummern.
Wie bereits erwähnt, ist netstat das Tool, mit dem ermittelt werden kann, welche Ports derzeit verwendet werden. Die Anzahl der verfügbaren Ports ist eine vorzeichenlose 16-Bit-Ganzzahl, die den Bereich 0-65535 angibt. Bei den Ports, an die Anwendungen binden können, handelt es sich um die reservierten privilegierten / Root-Ports (0-1024) sowie um alle Ports, die nicht in Ihrem kurzlebigen Portbereich enthalten sind.
Sie können Ihre kurzlebigen Ports anzeigen, indem Sie ausführen cat /proc/sys/net/ipv4/ip_local_port_range
.
Um dies dauerhaft zu ändern, müssten Sie "net.ipv4.ip_local_port_range" in der Datei /etc/sysctl.conf oder interaktiv mit hinzufügen / ändern sysctl -n net.ipv4.ip_local_port_range="<start_port> <end_port>"
Persönlich bevorzuge ich nmap. Sie können den Status aller Ports ermitteln, indem Sie nmap -P 1-65535 target ausgeben. Die meisten Distributionen sollten dieses Paket über ihren Paketmanager verfügbar haben.
Mit netstat können Sie sehen, welche Ports geöffnet sind. Mit "netstat -" können Sie feststellen, welche Ports Ihren Anforderungen am besten entsprechen.
netstat --inet
wird am meisten helfen.
Mit 'nmap localhost' erhalten Sie alle offenen Ports und Dienste, die auf ihnen ausgeführt werden.
netstat -tulnp
Die Argumente zum Programm netstat sind nachfolgend aufgeführt:
*
t - Show TCP
*
u - Show UDP
*
l - Show only listening processes (netstat can show both listening and all established connections, i.e. as a client too)
*
n - Do not resolve network IP address names or port numbers
*
p - Show the process name that is listening on the port