Poprawna odpowiedź to nmap, bo jest to specjalistyczne narzędzie do skanowania portów i analizy usług sieciowych. Nmap potrafi sprawdzić, które porty na wskazanym hoście są otwarte, zamknięte albo filtrowane przez firewall. Dodatkowo nie tylko „pyta” czy port odpowiada, ale też wykonuje różne typy prób połączeń (np. SYN scan, TCP connect, UDP scan), dzięki czemu można uzyskać więcej informacji o konfiguracji sieci i zabezpieczeniach. W praktyce administratorzy i specjaliści od bezpieczeństwa używają nmapa do audytów sieci, wykrywania nieautoryzowanych usług, a także do inwentaryzacji urządzeń w sieci. Przykładowo, polecenie `nmap 192.168.1.10` przeskanuje podstawowe porty na tym hoście, a `nmap -sV 192.168.1.10` spróbuje dodatkowo rozpoznać wersje usług działających na otwartych portach. Moim zdaniem znajomość nmapa to trochę taki standard w branży – pojawia się i w zadaniach rekrutacyjnych, i w realnej pracy. W dobrych praktykach bezpieczeństwa zaleca się regularne skanowanie własnej infrastruktury, żeby wiedzieć, jakie porty są dostępne z sieci i czy nie zostały przypadkiem uruchomione niepotrzebne usługi. Nmap pozwala też skanować całe zakresy adresów (np. `nmap 192.168.1.0/24`), co jest bardzo wygodne przy diagnozowaniu problemów sieciowych lub szukaniu „zagubionych” urządzeń. Warto pamiętać, że w wielu organizacjach skanowanie cudzych sieci bez zgody jest traktowane jako naruszenie polityki bezpieczeństwa, więc takie narzędzie stosuje się zgodnie z regulaminami i uprawnieniami. Technicznie rzecz biorąc, nmap działa na poziomie pakietów, korzysta z mechanizmów stosu TCP/IP i pozwala na dość precyzyjną analizę odpowiedzi hostów, co czyni go narzędziem znacznie bardziej zaawansowanym niż proste „pingowanie”.
W tym pytaniu łatwo się pomylić, bo wszystkie podane polecenia w jakiś sposób kojarzą się z siecią, ale tylko jedno z nich faktycznie służy do skanowania portów i wykonywania prób połączeń. Wiele osób odruchowo wybiera ifconfig albo ipconfig, bo to komendy często używane przy podstawowej diagnostyce sieci. Trzeba jednak rozdzielić dwie rzeczy: konfigurację interfejsu sieciowego i analizę dostępności portów na zdalnych hostach. Ifconfig (w systemach Linux/Unix) i ipconfig (w Windows) służą przede wszystkim do wyświetlania i częściowo modyfikowania konfiguracji interfejsów sieciowych: adresów IP, masek, bram domyślnych, statusu połączenia. To narzędzia „lokalne” – pokazują, jak jest skonfigurowana nasza karta sieciowa, ale nie skanują portów na innych urządzeniach. Można ich użyć jako pierwszy krok przy diagnozowaniu problemów, np. sprawdzić czy mamy poprawny adres IP, ale do testowania portów już zupełnie się nie nadają. Arp z kolei działa na niższym poziomie – odpowiada za mapowanie adresów IP na adresy MAC w lokalnej sieci. Polecenie arp pozwala podejrzeć tablicę ARP, czyli informację, który adres IP jest powiązany z którym adresem fizycznym karty sieciowej. To przydaje się np. przy analizie konfliktów adresów IP albo przy podejrzeniu ataków typu ARP spoofing, ale nadal nie ma to nic wspólnego z aktywnym sprawdzaniem stanów portów TCP/UDP. Typowym błędem myślowym jest założenie, że skoro narzędzie „ma coś wspólnego z siecią”, to na pewno potrafi wszystko, od konfiguracji po skanowanie. W praktyce narzędzia są mocno wyspecjalizowane. Do skanowania portów używa się właśnie takich programów jak nmap, które generują specjalnie przygotowane pakiety i analizują odpowiedzi zgodnie z zasadami działania protokołów TCP/UDP opisanymi w standardach RFC. Dobre praktyki w diagnostyce sieci mówią, żeby dobierać narzędzie dokładnie do zadania: ifconfig/ipconfig do sprawdzenia konfiguracji, arp do analizy warstwy 2, a nmap lub podobne skanery do testowania portów i usług. Dzięki temu diagnoza jest dokładniejsza i nie wyciąga się błędnych wniosków tylko dlatego, że użyło się nieodpowiedniego programu.