Wie kann ich anhand eines Bash-Skripts schnell herausfinden, ob ein Port 445auf einem Server geöffnet ist / lauscht.
Ich habe ein paar Optionen ausprobiert, aber ich möchte etwas schnell:
1. lsof -i :445 (Dauert Sekunden)
2. netstat -an |grep 445 |grep LISTEN(Dauert Sekunden)
3. telnet(es gibt nicht)
4. nmap, netcatsind auf dem Server nicht verfügbar
Es wird schön sein, einen Weg zu kennen, der nicht zuerst aufzählt und danach greift.
netstat -lnt(mit -tund ohne -a) beschränkt die Ausgabe nur auf abhörende TCP-Verbindungen. Es kann sich etwas beschleunigen. Sie können -4IPv4 nur hinzufügen, wenn Sie IPv6 nicht benötigen.
netstat -an | grep PORTNUMBER | grep -i listenWenn die Ausgabe leer ist, wird der Port nicht verwendet.
lsofes für Sie langsam ist, aber normalerweise ist es die beste der von Ihnen aufgelisteten Lösungen. Ihre netstatLösung ist nicht sehr zuverlässig (Sie können sie bei jeder Verwendung erraten grep; sie gibt ohnehin true zurück, wenn jemand z. B. 4450 zuhört). telnetund netcattatsächlich versuchen, eine Verbindung herzustellen, die möglicherweise nicht immer das ist, was Sie wollen.