Jak ze skryptu bash mogę szybko dowiedzieć się, czy port 445jest otwarty / nasłuchuje na serwerze.
Wypróbowałem kilka opcji, ale chcę czegoś szybkiego:
1. lsof -i :445 (Zajmuje sekundy)
2. netstat -an |grep 445 |grep LISTEN(Zajmuje sekundy)
3. telnet(Nie zwraca)
4. nmap, netcatNie są dostępne na serwerze
Miło będzie wiedzieć o sposobie, który nie wylicza najpierw, a potem greps.
netstat -lnt(zi -tbez -a) ograniczy wyjście tylko do nasłuchiwania połączeń TCP. Może trochę przyspieszyć. Możesz dodać -4dla IPv4 tylko wtedy, gdy nie potrzebujesz IPv6.
netstat -an | grep PORTNUMBER | grep -i listenJeśli dane wyjściowe są puste, port nie jest używany.
lsofjest dla ciebie powolny, ale zwykle jest to najlepsze z wymienionych rozwiązań. Twoje netstatrozwiązanie nie jest zbyt niezawodne (możesz zgadywać za każdym razem, gdy go używasz grep; w każdym razie zwraca wartość prawda, jeśli ktoś słucha np. 4450). telneti netcatfaktycznie próbujemy utworzyć połączenie, które nie zawsze jest tym, czego chcesz.