web-dev-qa-db-ja.com

一部の接続がタイムアウトし、他の接続が拒否されるのはなぜですか?

ランダムなポートでTelnetを試行しているときに、次の2種類のシナリオが発生することに気づきました。

$ telnet example.com 3432
  Trying 173.252.110.27...

$ telnet example.com 3432
  Connection Refused.

誰かが2つの違いは何ですか私に説明できますか?

13
pradeepchhetri

1つの理由は、example.comのファイアウォールの動作です。ファイアウォールが単にトラフィックをドロップする場合、最初の応答が表示されます。一方、ファイアウォールがトラフィックを拒否すると、2番目のトラフィックが発生します。

よりよく理解するために、 tcpdump または wireshark などのパケットフィルターを使用して、テストを実行しながらトラフィックをスニッフィングします。

最初のケースはSyn、Syn、Syn ...のようになります。

2番目のケースはSyn、Rstのようになり、ICMPポートに到達できない可能性があります。

正常な接続は、tcp 方向ハンドシェイク で期待されるSyn、Syn-Ack、Ackのようになります。

10
dmourati