2012-06-12 30 views
15

httpページを扱うリモートサーバーのポート9100でアプリケーションを実行しています。私はサーバーにsshを接続した後、私はlocalhost 9100を巻くことができ、私は応答を受け取ります。特定のIPとポートをトレースする

私はhttp://ip:9100

を使用してブラウザから同じアプリにアクセスすることができませんしかし、私はまた私のローカルPCからtelnetで接続することができません。どうすればデバッグできますか?特定のIPとポートの組み合わせをトレースして、ブロックされている場所を確認する方法はありますか?

すべてのLinuxツール/コマンド/ユーティリティは高く評価されます。

おかげで、 Murtazaまず

答えて

4

は、アプリケーションがバインドしているIPアドレスを確認してください。たとえば、ローカルアドレスにのみバインドすることができます。これは、ファイアウォールの状態に関係なく、別のマシンからは表示されないことを意味します。

nmapのようなポートスキャナを使用して、ポートが開いて外部から見えるかどうかを調べることができます。ポートが閉じられているかどうかを知ることができます。細かい)、またはフィルタリング(ファイアウォールなど)します。あなたはそれを見つけることができませんでした場合

+0

IPバインディングをチェックするにはどうすればよいですか? – murtaza52

+0

また、nmapを実行すると、開いているポートのみが表示されます。どのオプションを使用してすべてのポートを表示しますか? – murtaza52

+0

あなたのアプリケーションについて何も知らずに、言うことは不可能です!おそらく設定ファイルを見てみてください。あなたは 'netstat -lt'の出力を見てみることができます...ローカルアドレスにバインドされたアプリケーションは、たとえば "tcp localhost:9100"と表示されます。 – Rook

21
tcptraceroute xx.xx.xx.xx 9100 

あなたはそれが

yum -y install tcptraceroute 

または

aptitude -y install tcptraceroute 
+1

Homebrewにはこの小さな宝石のパッケージも入っています。 'brew install tcptraceroute'を実行します。ただし、ツールを使用するにはsudoを実行する必要があります。 – datUser

9

あなたはクライアントもサーバーに到達したかどうかを確認するために、サーバー上のtcpdumpを使用することができますインストールすることができます。

tcpdump -i any tcp port 9100 

また、ファイアウォールが着信接続をブロックしていないことを確認してください。

EDIT:ダンプをファイルに書き込んで、コンソール上で読む必要がない場合は、クライアント上でwiresharkで表示することもできます。

第二編集:あなたのローカルPCから

nc ip 9100 -z -v 

を経由してポートを達することができるかどうかをチェックすることができます。

18

この目的でデフォルトのtracerouteコマンドを使用すると、何もインストールされません。 TCPプロトコルはUDPの代わりに使用されるように

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

-T引数が必要です。

+0

素晴らしい!このコマンドを実行するにはroot権限が必要です –

0

このコマンドを使用して実行することができます:tcptraceroute -p destination port destination IPtcptraceroute -p 9100 10.0.0.50のようになりますが、システムにtcptracerouteパッケージをインストールすることを忘れないでください。 tcpdumpとncはデフォルトでシステムにインストールされています。あなたのお返事ありがとうございます。

関連する問題