netstat -lntu
jak odpowiedział @askmish da ci listę usług działających w twoim systemie na portach TCP i UDP gdzie
-l
= tylko usługi nasłuchujące na jakimś porcie
-n
= pokaż numer portu, nie próbuj rozpoznawać nazwy usługi
-t
= porty TCP
-u
= porty udp
-p
= nazwa programu
Nie potrzebujesz parametru „p”, ponieważ jesteś zainteresowany tylko tym, które porty są wolne, a nie który program na nim działa.
To pokazuje jednak tylko, które porty w systemie są zużyte. Nie informuje to o stanie sieci, np. Jeśli masz za sobą NAT i chcesz, aby niektóre usługi były dostępne z zewnątrz. Lub jeśli zapora blokuje port dla odwiedzających z zewnątrz. W takim przypadku na ratunek przychodzi nmap. OSTRZEŻENIE: Korzystaj z nmap tylko w sieciach, które są pod twoją kontrolą. Istnieją również reguły zapory, które mogą blokować pingi nmap, będziesz musiał bawić się z opcjami, aby uzyskać poprawne wyniki.
netstat
jest przestarzałe w wielu systemach iss
powinno się go używać.ss
Ponieważ
net-tools
jest przestarzałe , możesz użyćss
polecenia zamiast,netstat
jeślinetstat
nie ma go na twoim komputerze:powinien działać podobnie do
zgodnie z wbudowaną pomocą:
źródło
To polecenie wyświetli listę otwartych portów sieciowych i procesów, które są ich właścicielami:
netstat -lnptu
możesz następnie filtrować wyniki według dokładnych specyfikacji.
Możesz także użyć
nmap
do bardziej szczegółowych wyników dotyczących portów.źródło
sudo netstat -lnptu
Wszystkie otwarte porty, w tym ruch odpowiedzi:
źródło
netstat -tuwanp4 | awk '{print $4}' | grep ':' | cut -d ":" -f 2 | sort | uniq
Moje pierwotne pytanie polegało na tym, że pytał o nieużywane porty, a nie porty aktualnie podłączone do usług. W takim przypadku nie ma konkretnego sposobu na ich wylistowanie, poza wymienieniem użytych portów i założeniem, że pozostałe są nieużywane.
Należy pamiętać o jednym dodatkowym punkcie: jako użytkownik nie będziesz mógł otworzyć portu mniejszego niż 1024 (do tego potrzebne będą uprawnienia roota).
źródło
Poniższe polecenie będzie działać na każdym systemie Unix, który wyświetla dane w tym samym formacie co Ubuntu / Debian - gdzie adres lokalny znajduje się w kolumnie 4, a wyjście zawiera nagłówek 2 wierszy u góry. Jeśli którakolwiek z tych liczb jest inna, dostosuj poniższe polecenie awk.
Jeśli chcesz tylko IPv4:
Jeśli chcesz tylko IPv6:
Jeśli chcesz obu razem:
Polecenie wyświetla listę numerów portów nasłuchujących na wszystkich interfejsach. Jeśli chcesz wyświetlić listę wszystkich portów nasłuchujących na interfejsie hosta lokalnego, użyj czegoś takiego:
źródło
Próbować
i spójrz na to.
źródło