2012-06-12 20 views
15

Mam aplikację działającą na porcie 9100 na serwerze zdalnym obsługującym strony http. Po tym jak ssh do serwera mogę curl localhost 9100 i otrzymuję odpowiedź.śledzenie konkretnego adresu IP i portu

Jednak nie jestem w stanie uzyskać dostęp do tej samej aplikacji z przeglądarki przy użyciu http://ip:9100

Jestem również w stanie telnet z mojego lokalnego komputera. Jak mogę to debugować? Czy istnieje sposób na śledzenie konkretnej kombinacji adresu IP i portu, aby zobaczyć, gdzie jest blokowana?

Wszelkie narzędzia/polecenia/narzędzia linuxowe zostaną docenione.

Dzięki Murtaza

Odpowiedz

4

Po pierwsze, należy sprawdzić adres IP, że aplikacja jest związany. Mogło na przykład wiązać się tylko z adresem lokalnym, co oznaczałoby, że nigdy nie zobaczysz go z innego komputera, niezależnie od stanu zapory.

Możesz spróbować użyć portscannera jak nmap, aby sprawdzić, czy port jest otwarty i widoczny na zewnątrz ... może powiedzieć, czy port jest zamknięty (nic tam nie słychać), otwarty (powinieneś być w stanie to zobaczyć fine) lub filtrowane (np. przez zaporę firewall).

+0

Rook, dzięki za odpowiedź. Jak sprawdzić powiązanie IP? – murtaza52

+0

Również kiedy robię nmap, wyświetla tylko otwarte porty, jakiej opcji używam do wyświetlania wszystkich portów? – murtaza52

+0

Cóż, nie wiedząc nic o aplikacji, nie można powiedzieć! Może przejrzeć plik konfiguracyjny? Możesz spróbować spojrzeć na wyjście 'netstat -lt' ...aplikacja przypisana do lokalnego adresu pojawi się na przykład jako "tcp localhost: 9100". – Rook

21
tcptraceroute xx.xx.xx.xx 9100 

jeśli nie to znaleźć można zainstalować go

yum -y install tcptraceroute 

lub

aptitude -y install tcptraceroute 
+1

Homebrew ma również pakiet dla tego małego klejnotu narzędzia. 'brew install tcptraceroute'. Musisz jednak użyć sudo, aby użyć tego narzędzia. – datUser

9

można użyć tcpdump na serwerze, aby sprawdzić, czy klient osiągnie nawet serwer.

tcpdump -i any tcp port 9100 

Upewnij się również, że zapora nie blokuje połączeń przychodzących.

EDYCJA: możesz również zapisać zrzut do pliku i wyświetlić go za pomocą wireshark na kliencie, jeśli nie chcesz go czytać na konsoli.

2-ty Edycja: można sprawdzić, czy można dotrzeć do portu poprzez

nc ip 9100 -z -v 

z lokalnego komputera.

18

W tym celu można użyć domyślnej komendy traceroute, wówczas nie będzie niczego do zainstalowania.

traceroute -T -p 9100 <IP address/hostname> 

-T argumentu wymagana jest tak, że protokół TCP jest używany zamiast UDP.

+0

Świetnie! Zauważ, że do wykonania tego polecenia potrzebne są uprawnienia użytkownika root –

0

można to zrobić za pomocą następującego polecenia: tcptraceroute -p destination port destination IP. na przykład: tcptraceroute -p 9100 10.0.0.50, ale nie zapomnij zainstalować pakietu tcptraceroute w swoim systemie. tcpdump i nc są domyślnie instalowane w systemie. dotyczy

Powiązane problemy