Controllare la rete con lsof su Linux
Ho già parlato di lsof in questo articolo.
Qui rivediamo il comando, usandolo però solo per i controlli di rete.
Ovviamente, con lsof, i controlli si possono fare solo sul pc da dove viene lanciato; ed occorre avere privilegi elevati.
Questo un primo esempio:
# lsof -i
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
rpcbind 526 root 6u IPv4 11099 0t0 UDP *:sunrpc
rpcbind 526 root 7u IPv4 11102 0t0 UDP *:701
rpcbind 526 root 8u IPv4 11103 0t0 TCP *:sunrpc (LISTEN)
rpcbind 526 root 9u IPv6 11104 0t0 UDP *:sunrpc
rpcbind 526 root 10u IPv6 11105 0t0 UDP *:701
rpcbind 526 root 11u IPv6 11106 0t0 TCP *:sunrpc (LISTEN)
rpc.statd 535 statd 5u IPv4 11321 0t0 UDP localhost:711
rpc.statd 535 statd 8u IPv4 11177 0t0 UDP *:44965
rpc.statd 535 statd 9u IPv4 11179 0t0 TCP *:50511 (LISTEN)
rpc.statd 535 statd 10u IPv6 11181 0t0 UDP *:46095
rpc.statd 535 statd 11u IPv6 11183 0t0 TCP *:44720 (LISTEN)
mongod 553 mongodb 9u IPv4 12107 0t0 TCP localhost:27017 (LISTEN)
mongod 553 mongodb 10u IPv4 14086 0t0 TCP localhost:28017 (LISTEN)
..............................................
Questo ottiene tutti i file di rete internet.
Come vedete ci sono varie colonne, molto utili per poter usare dei filtri.
Ad esempio:
# lsof -u mysql | grep -i LISTEN
mysqld 1199 mysql 10u IPv4 14425 0t0 TCP localhost:mysql (LISTEN)
Così prendiamo tutti i processi di MySQL in ascolto.
Possiamo anche identificare le connessione da o verso un indirizzo IP:
# lsof -i @192.168.1.133
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
sshd 4087 root 3u IPv4 346513 0t0 TCP casa.local:ssh->192.168.1.133:46020 (ESTABLISHED)
sshd 4172 casa 3u IPv4 346513 0t0 TCP casa.local:ssh->192.168.1.133:46020 (ESTABLISHED)
La connessione SSH dal mio pac al serverino casalingo da cui sto lanciando i comandi.
Infine, il comando per identificare tutte le connessioni attive su TCP:
# lsof -nP -iTCP -sTCP:LISTEN
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
rpcbind 526 root 8u IPv4 11103 0t0 TCP *:111 (LISTEN)
rpcbind 526 root 11u IPv6 11106 0t0 TCP *:111 (LISTEN)
rpc.statd 535 statd 9u IPv4 11179 0t0 TCP *:50511 (LISTEN)
rpc.statd 535 statd 11u IPv6 11183 0t0 TCP *:44720 (LISTEN)
mongod 553 mongodb 9u IPv4 12107 0t0 TCP 127.0.0.1:27017 (LISTEN)
mongod 553 mongodb 10u IPv4 14086 0t0 TCP 127.0.0.1:28017 (LISTEN)
memcached 555 nobody 26u IPv4 13139 0t0 TCP 127.0.0.1:11211 (LISTEN)
sshd 559 root 3u IPv4 11643 0t0 TCP *:22 (LISTEN)
sshd 559 root 4u IPv6 11645 0t0 TCP *:22 (LISTEN)
postgres 1143 postgres 6u IPv6 14767 0t0 TCP [::1]:5432 (LISTEN)
postgres 1143 postgres 7u IPv4 14768 0t0 TCP 127.0.0.1:5432 (LISTEN)
mysqld 1199 mysql 10u IPv4 14425 0t0 TCP 127.0.0.1:3306 (LISTEN)
sendmail- 1201 root 4u IPv4 12095 0t0 TCP 127.0.0.1:25 (LISTEN)
sendmail- 1201 root 5u IPv4 12096 0t0 TCP 127.0.0.1:587
Enjoy!
network internet linux lsof
Commentami!