Jeśli nie masz na sobie zapór ogniowych i routerów, tj. Jeśli jesteś w tym samym segmencie, co host, który próbujesz sprawdzić - większość powyższych rozwiązań jest trochę wyczerpująca.
Nie ma znaczenia, z jakim portem się łączysz, a w rzeczywistości, jeśli podłączysz się do portu, który prawdopodobnie nie uruchomi usługi, możesz wykonać zadanie bez wykrycia.
W jaki sposób?
Możesz użyć dowolnego narzędzia, które ci się podoba, ale możemy po prostu użyć telnet ...
% telnet <host> 313373
Trying 10.211.55.3...
telnet: connect to address 10.211.55.3: Connection refused
telnet: Unable to connect to remote host
%
Powinno to nastąpić natychmiast, chyba że host upuści pakiety. W rzeczywistości stos TCP / IP na hoście wysyła z powrotem segment TCP z ustawionym bitem RST - tzn. Kończy pakiet SYN.
Fakt, że otrzymałeś pakiet RST oznacza, że na drugim końcu rzeczywiście znajduje się host, a jako bonus - zrobiłeś to niezauważony (TCP / IP nie miał aplikacji wyższej warstwy, z którą można by porozmawiać o tym połączeniu) .
Jednak zamiast telnet, prawdopodobnie użyłbym czegoś takiego jak scapy, napiszę coś, co szuka flagi RST i dam ci znać.
Aby to zrobić, jeśli nie ma hosta w adresie IP, którego spróbujesz - zawiesi się na chwilę, a limit czasu - to samo, co by się stało, gdyby host odbierający miał zaporę ogniową z filtrem upuszczającym.
Jeśli w grę wchodzą zapory ogniowe, jak sugerują inni, skorzystaj z narzędzi takich jak nmap
i cokolwiek innego.