Mam tu dylemat. Mam urządzenie, które komunikuje się z innym urządzeniem zdalnym, ale między nimi jest zapora ogniowa. Jest to połączenie UDP, więc narzędzia TCP nie działają, aby sprawdzić, czy określony port jest otwarty. Wiem, że moglibyśmy to uzyskać z zapory ogniowej, ale nie mam dostępu, więc muszę udowodnić, że port nie jest otwarty.
System źródłowy to system Windows 7, a system docelowy to urządzenie z systemem Linux.
security
troubleshooting
udp
JoeliNNaBit
źródło
źródło
Odpowiedzi:
UDP jest oczywiście protokołem wysyłania i zapominania. Na przykład podczas skanowania UDP NMap jedynym sposobem, aby ostatecznie udowodnić, że port UDP jest otwarty, jest otrzymanie odpowiedzi z tego portu. Należy pamiętać, że wiele usług może nie odpowiadać na dowolne dane i wymagać żądań dotyczących protokołu lub aplikacji w celu uzasadnienia odpowiedzi. Niektóre kody ICMP mogą jednak gwarantować zamknięcie portu. RFC 792 i RFC 1122 dostarczają nam dobrych informacji, czego możemy się spodziewać po zamknięciu portu.
Na przykład, kod 3 ICMP typu 3 „Port docelowy nieosiągalny” jest, prawie we wszystkich celach i celach, prawie zamknięty.
Pełna lista kodów znajduje się tutaj:
http://www.iana.org/assignments/icmp-parameters/icmp-parameters.xhtml
źródło
To jest szybki przepis:
1) Uruchom sniffer pakietów:
2) Wyślij pakiet UDP:
3) Jeśli pojawi się komunikat „Port ICMP nieosiągalny”, ten port UDP jest zamknięty:
4) W przeciwnym razie zazwyczaj port jest otwarty lub coś blokuje ICMP.
źródło
"nc -uvz ip port"
nie jest w jakiś sposób dokładny, prawdopodobnie powinieneś użyć"nmap -sU -p port ip"
, jeśli wynik pokazuje „otwarty”, to prawdopodobnie port udp jest otwarty, jeśli pokazuje „otwarty | filtrowany”, to prawdopodobnie jest zamknięty lub przefiltrowany.źródło