PINGポート番号?

昨日のインタビュアーから、pingのポート番号とTCP / UDPを使用するプロトコルpingについて尋ねられました。

インタビュー後、インターネットで検索します。誰かがICMPがポート7を使用していると言う、誰かがポート番号を使用していないと言っている、あるサイトでIPプロトコル1を使用している、などと異なる結果を見つけました。

誰かが正しい説明を手伝ってくれますか?

よろしくお願いします。Nishad

コメント

  • TCPとUDPはレイヤー4プロトコルであり、ポートはTCPまたはUDPアドレスですがICMPはIP(レイヤー3)の一部です。 RFC 792から:" ICMPは、IPの基本的なサポートを高レベルのプロトコルであるかのように使用しますが、ICMPは実際にはIPの不可欠な部分であり、すべてのIPモジュールによって実装されます。 "
  • ICMP、TCP、およびUDPはプロトコル1としてIPを直接通過するため、ここではレイヤーについて説明するのは少し誤解を招きます。 、6、および17それぞれ。 OPに対して、ICMP / TCP / UDPのヘッダーを確認するか、パケットキャプチャを実行して、それらの違いを確認します。 ICMPはTCPおよびUDPとは完全に分離されていることを覚えておいてください。
  • 仕事はありましたか?
  • はい。仕事はありました。

回答

標準のpingコマンドはTCPまたはUDPを使用しません。 ICMPを使用します。より正確には、ICMPタイプ8(エコーメッセージ)とタイプ0(エコー応答メッセージ)が使用されます。 ICMPにはポートがありません!

詳細については、 RFC792 を参照してください。

コメント

  • 明確にするために、ICMPはIPプロトコル1としてIPを直接経由します。ICMPヘッダー内には、エコー/エコー応答などのタイプがあります。これを、IPをそれぞれIPプロトコル6および17として使用するTCPおよびUDPと比較し、アプリケーションを区別するために独自のポートシステムを使用します。
  • " ICMPにはポートがありません!"特定の状況(特にNATに関連する状況)ではポートのように扱われるクエリIDがありますが。

回答

特に質問のこの部分について、追加の回答を提供したいと思います:

…誰かがICMPがポート7

ポート7(TCPとUDPの両方)は「エコー」サービスに使用されます。

このサービスがコンピューターで利用できる場合は、UDPポート7を使用できます代わりにのICMPで「ping」を実行します。

ただし、最近のほとんどのコンピューターには「エコー」がありません。サービスが実行されているため、UDPポート7を使用して「ping」を実行します。 ICMPのティードは機能しません。

そして:「ICMPの代わりに」という言葉がすでに示しているように、UDPポート7を介した「ping」は NOT はICMPを使用しますが、UDPはまったく異なるプロトコルです!

コメント

  • あなたへの反論として答え、これは私がこのトピックについて見つけたフォーラムで誰かが言った投稿です:" ICMPがどういうわけかポート7(すべての文字をエコーする古いエコーサービス)を使用していると思う人あなたがそれに送った)はネットワーキングにあるべきではなく、撃たれるべきです。私の言ったことに同意できない場合は、IPデータグラムとICMPデータグラムの構造を見てください。 ICMPはIPデータグラムにカプセル化され、次にIPデータグラムが特定のメディアがフレームを形成するために必要なものにカプセル化されます。"
  • " ICMPは、ポートの場所がないため、ポートを使用しません。 IPデータグラムのみでカプセル化されます。ポートオプションは、UDPおよびTCPデータグラムにのみあります。 ICMPエコーをブロックするには、タイプとコードを明示的にブロックします"
  • フォーラムのトピック全体はコミュニティです。 infosecinstitute.com/discussion/8777
  • @JesseP。 ICMPがポート7を使用することを書きましたか?いいえ。ICMPivの代わりに"に"という単語を書きました。 id = “49da4e655d”>

太字で、ポート7がICMPとは関係がないことを示します。 '回答を少し編集して、これを明確にします。

  • それは'公平です。読むのは少し混乱しました。申し訳ありません。
  • 回答

    他の人がすでに述べたように、一般的にpingはICMPベースであり、ポートはありません。 。ただし、TCP Pingのように、通常の3ウェイTCPハンドシェイクの代わりに、最初の2つのステップのみが実行され、その間の遅延が測定されるものがあります。測定が完了すると、RST ACKが送信され、ハーフオープン接続が閉じられます。次に、カウンター/期間に達するか、プロセスを終了するまで、プロセスが繰り返されます。TCP Ping(システム管理者が作業しているサーバーで開いているポートをテストするために頻繁に使用します)を使用して、テストする宛先ポートを指定できます(サーバーが特定のポートでリッスンしていることを確認するため)。送信元ポートは単なる一時的なランダムポートです。

    TCPPingユーティリティ(Windowsシステムで使用しているもの)の例をご覧になりたい場合は、 TCPing 。また、NMAPにはNPINGと呼ばれるユーティリティが付属しており、TCPベースのpingも実行できるようにするフラグがあります。

    注意として、一部のネットワーク機器また、新しいオペレーティングシステムバージョンの一部を使用するCisco ASAなど、この機能もあります。コマンドは次のとおりです。ping tcp <destination IP> <destination port>

    Answer

    Pingはポートではなくプロトコルを使用します。Pingはインターネット制御メッセージプロトコル(ICMP)エコー要求パケットをターゲットホストに送信し、ICMPエコー応答を待機することで動作します。ただし、セキュリティ上の考慮事項として、これは多くの場合無効になっています。

    回答

    Windowsでのping & LinuxシステムデフォルトではICMPを使用します。ping要求はタイプ8 &コード0です。ping応答はタイプ0

    コード0

    TCP / UDPのテストのようなpingを実行するために使用できるユーティリティは他にもあります。 TCPポートが開いているかどうかを確認するための一般的なクイックテストは、WindowsでTelnetクライアントを使用することです。 Nmapは、WindowsおよびLinuxで開いているポートをテストするために使用できるサードパーティのユーティリティです。

    WindowsのTracerouteはICMPを使用し、Linuxは実際にはデフォルトでUDPを使用します。

    これは次の方法で確認できます。 Wire sharkを使用してトラフィックをキャプチャし、これらのオペレーティングシステムがトラブルシューティングツールをどのように使用しているかを確認します。

    問題は、トラブルシューティングユーティリティに関する知識をテストすることでした。

    コメントを残す

    メールアドレスが公開されることはありません。 * が付いている欄は必須項目です