Port jest logicznym podmiotem, który działa jako punkt końcowy komunikacji związanej z aplikacją lub procesu w systemie operacyjnym Linux. Przed użyciem warto wiedzieć, które porty są otwarte i działają na maszynie docelowej.
Możemy łatwo wyświetlić listę otwartych portów w Linuksie na lokalnej maszynie przy użyciu netstat lub kilku innych poleceń Linuksa, takich jak NMAP .
W tym przewodniku pokażemy, jak określić, czy porty na zdalnym hoście są osiągalne / otwarte za pomocą prostego polecenia netcat (w skrócie nc ).
netcat (lub w skrócie nc ) jest potężnym i łatwym w użyciu narzędziem, które może być wykorzystane do prawie wszystkiego w Linuksie w odniesieniu do gniazd TCP, UDP.
$ sudo apt install netcat
Możemy go użyć do: otwierania połączeń TCP, nasłuchiwania na dowolnych portach TCP i UDP, wysyłania pakietów UDP, skanowania portów zarówno pod IPv4, jak i IPv6 i nie tylko.
Poniższe polecenie pomoże nam sprawdzić, czy port 22 jest otwarty na hoście 192.168.1.1 :
$ nc -zv 192.168.1.1 22
W powyższym poleceniu flaga:
- -z – ustawia nc tak, aby po prostu skanował porty, bez wysyłania do nich żadnych danych.
- -v – włącza tryb opisowy (verbose mode).
Kolejne polecenie sprawdzi, czy porty 80 , 22 i 21 są otwarte na zdalnym hoście 192.168.1.1 (możemy również użyć nazwy hosta):
nc -zv 192.168.1.1 80 22 21
Możliwe jest również określenie zakresu portów do przeskanowania:
$ nc -zv 192.168.1.1 20-80