Open poorten en hun processen opvragen
Op deze pagina:
Een poort is een adresseerbare netwerklocatie die ervoor zorgt dat dataverkeer naar de juiste applicatie wordt doorgestuurd. Er zijn 3 soorten poortnummers:
- 0-1023
- systeempoorten System Ports
- 1024-49151
- gereserveerde poorten User Ports
- 49152-65535
- vrij te gebruiken poorten Private Ports
Het opvragen van open poorten kan je helpen bij het veilig houden van je Linux systeem.
Open poorten opvragen met ss
De parameters hier : -tulpn, het kan nog leuker, je kan ook -tulpen doen, dan krijg je nog meer info.
De parameters hebben de volgende betekenis:
- -t tcp poorten
- -u udp poorten
- -l alleen luisterende sockets
- -p PID en programmanaam erbij
- -e uitgebreide socket informatie
- -n geeft poortnummers
ss -tulpn | grep LISTEN
Ingekorte mogelijke uitvoer:
ss -tulpn | grep LISTEN
tcp LISTEN 0 16 0.0.0.0:8200 0.0.0.0:*
tcp LISTEN 0 5 127.0.0.1:10026 0.0.0.0:*
tcp LISTEN 0 3 127.0.0.1:43434 0.0.0.0:*
tcp LISTEN 0 80 127.0.0.1:3306 0.0.0.0:*
tcp LISTEN 0 50 0.0.0.0:139 0.0.0.0:*
tcp LISTEN 0 128 127.0.0.1:63342 0.0.0.0:* users:(("java",pid=25842,fd=318))
...
tcp LISTEN 0 128 [::]:22 [::]:*
tcp LISTEN 0 5 [::1]:631 [::]:*
tcp LISTEN 0 128 [::]:33079 [::]:*
tcp LISTEN 0 128 [::]:17500 [::]:* users:(("dropbox",pid=26118,fd=87))
tcp LISTEN 0 128 [::]:50301 [::]:*
tcp LISTEN 0 50 [::]:445 [::]:*
tcp LISTEN 0 64 [::]:2049 [::]:*
tcp LISTEN 0 64 [::]:36519 [::]:*
Minder kolommen kan ook:
ss -tulpn | grep LISTEN | awk '{print($1, $5, $7)}'
tcp 0.0.0.0:8200
tcp 127.0.0.1:10026
tcp 127.0.0.1:43434
tcp 127.0.0.1:3306
tcp 0.0.0.0:139
tcp 127.0.0.1:63342 users:(("java",pid=25842,fd=318))
tcp 0.0.0.0:111
tcp 0.0.0.0:5938
...
tcp *:22000 users:(("syncthing",pid=19557,fd=27))
tcp [::]:5938
tcp *:1716 users:(("kdeconnectd",pid=4161,fd=14))
tcp [::]:22
tcp [::1]:631
tcp [::]:33079
tcp [::]:17500 users:(("dropbox",pid=26118,fd=87))
tcp [::]:50301
tcp [::]:445
tcp [::]:2049
tcp [::]:36519
Als je alleen poort 80 wil:
ss -tulpn | grep LISTEN | grep 80
tcp LISTEN 0 80 127.0.0.1:3306 0.0.0.0:*
tcp LISTEN 0 128 *:80 *:*
Open poorten weergeven met lsof
lsof is bedoeld om open bestanden weer te geven, maar met de juiste parameters kan het ook de open poorten weergeven.
lsof -i -P -n
Ingekorte mogelijke uitvoer:
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
kdeconnec 4161 debian 13u IPv6 47354 0t0 UDP *:1716
kdeconnec 4161 debian 14u IPv6 47355 0t0 TCP *:1716 (LISTEN)
kdeconnec 4161 debian 17u IPv6 27708363 0t0 TCP 192.168.1.155:46024->192.168.1.155:1716 (ESTABLISHED)
...
dropbox 26118 debian 62u IPv4 37116797 0t0 TCP 192.168.1.155:42890->162.125.19.131:443 (ESTABLISHED)
dropbox 26118 debian 86u IPv4 23113532 0t0 TCP *:17500 (LISTEN)
dropbox 26118 debian 87u IPv6 23113533 0t0 TCP *:17500 (LISTEN)
dropbox 26118 debian 88u IPv4 23113534 0t0 UDP *:17500
dropbox 26118 debian 103u IPv4 23117413 0t0 TCP 127.0.0.1:17600 (LISTEN)
dropbox 26118 debian 107u IPv4 23117416 0t0 TCP 127.0.0.1:17603 (LISTEN)
Filteren op LISTEN geeft een meer compacte lijst:
lsof -i -P -n | grep LISTEN
kdeconnec 4161 debian 14u IPv6 47355 0t0 TCP *:1716 (LISTEN)
SpiderOak 5501 debian 15u IPv4 52609 0t0 TCP 127.0.0.1:45083 (LISTEN)
syncthing 19557 debian 18u IPv4 14766374 0t0 TCP 127.0.0.1:8384 (LISTEN)
syncthing 19557 debian 27u IPv6 14767419 0t0 TCP *:22000 (LISTEN)
java 25842 debian 231u IPv4 28257477 0t0 TCP 127.0.0.1:6942 (LISTEN)
java 25842 debian 318u IPv4 28254072 0t0 TCP 127.0.0.1:63342 (LISTEN)
dropbox 26118 debian 86u IPv4 23113532 0t0 TCP *:17500 (LISTEN)
dropbox 26118 debian 87u IPv6 23113533 0t0 TCP *:17500 (LISTEN)
dropbox 26118 debian 103u IPv4 23117413 0t0 TCP 127.0.0.1:17600 (LISTEN)
dropbox 26118 debian 107u IPv4 23117416 0t0 TCP 127.0.0.1:17603 (LISTEN)
Open poorten weergeven met nmap
nmap moet je als root starten.
sudo nmap -sT -O localhost
Ingekorte mogelijke uitvoer:
...
PORT STATE SERVICE
22/tcp open ssh
80/tcp open http
111/tcp open rpcbind
139/tcp open netbios-ssn
445/tcp open microsoft-ds
631/tcp open ipp
2049/tcp open nfs
3306/tcp open mysql
5432/tcp open postgresql
8200/tcp open trivnet1
...
Een lijst met poorten en applicaties opvragen
In /etc/services is te lezen welke poorten bij welke applicaties in gebruik zijn:
cat /etc/services | less