Da uno script bash come posso scoprire rapidamente se una porta 445
è aperta / in ascolto su un server.
Ho provato un paio di opzioni, ma voglio qualcosa di veloce:
1. lsof -i :445
(Richiede secondi)
2. netstat -an |grep 445 |grep LISTEN
(Richiede secondi)
3. telnet
(Non restituisce)
4. nmap
, netcat
non sono disponibili sul server
Sarà bello conoscere un modo che non enumera prima e poi si insinua.
netstat -lnt
(con -t
e senza -a
) limiterà l'output solo alle connessioni TCP in ascolto. Potrebbe accelerare un po '. È possibile aggiungere -4
per IPv4 solo se non è necessario IPv6.
netstat -an | grep PORTNUMBER | grep -i listen
Se l'output è vuoto, la porta non è in uso.
lsof
sia lento per te, ma normalmente è la migliore delle soluzioni che hai elencato. La tua netstat
soluzione non è molto affidabile (puoi indovinarla ogni volta che la usi grep
; comunque ritorna vera se qualcuno sta ascoltando ad es. 4450). telnet
e in netcat
realtà tentare di creare una connessione, che potrebbe non essere sempre quella desiderata.