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, netcatnon sono disponibili sul server
Sarà bello conoscere un modo che non enumera prima e poi si insinua.
netstat -lnt(con -te senza -a) limiterà l'output solo alle connessioni TCP in ascolto. Potrebbe accelerare un po '. È possibile aggiungere -4per IPv4 solo se non è necessario IPv6.
netstat -an | grep PORTNUMBER | grep -i listenSe l'output è vuoto, la porta non è in uso.
lsofsia lento per te, ma normalmente è la migliore delle soluzioni che hai elencato. La tua netstatsoluzione non è molto affidabile (puoi indovinarla ogni volta che la usi grep; comunque ritorna vera se qualcuno sta ascoltando ad es. 4450). telnete in netcatrealtà tentare di creare una connessione, che potrebbe non essere sempre quella desiderata.