2011-01-14 13 views
0

WinXP SP3でブロードキャストアドレス255.255.255.255をpingしようとしています。Win XP SP3でPingブロードキャスト

私は、コマンドラインを使用している場合は、私がホストエラーを取得:

C:\>ping 255.255.255.255 
Ping request could not find host 255.255.255.255. Please check the name and try again. 

私はIPHLPAPIを使用してC++プログラムをしようとすると、IcmpSendEcho()が失敗したとGetLastErrorリターン11010 IP_REQ_TIMED_OUT

HANDLE h = ::IcmpCreateFile(); 
IPAddr broadcast = inet_addr("255.255.255.255"); 
BYTE payload[ 32 ] = { 0 }; 
IP_OPTION_INFORMATION option = { 255, 0, 0, 0, 0 }; 

// a buffer with room for 32 replies each containing the full payload 
std::vector<BYTE> replies(32 * (sizeof(ICMP_ECHO_REPLY) + 32)); 

DWORD res = ::IcmpSendEcho(h, 
          broadcast, 
          payload, 
          sizeof(payload), 
          &option, 
          &replies[ 0 ], 
          replies.size(), 
          1000); 
::IcmpCloseHandle(h); 

ローカルブロードキャスト192.168.0.255に問題なくpingできます。

グローバルブロードキャストにpingを実行するには何が必要ですか?私が知っているよう

おかげで、 PaulH

+0

ping ff02 :: 1%0'が何をするのか聞いてみましょう(インターフェイスを選択するために%0を%1、%2などで置き換える必要があるかもしれません) – user562374

+0

@ user562374 - 'Ping要求はホストff02 :: 1%Xが見つかりません。名前を確認してもう一度やり直してください。」Xのすべての値について – PaulH

答えて

3

は、これは、Windowsでは動作しません。 Linux OSでは255.255.255.255にpingを送信できますが、ルーティングプロトコルは255.255.255.255のブロードキャストをローカルネットワークの外部に中継しません。

達成しようとしていることは何ですか?あなたは接続された地球上のすべてのコンピュータが応答する準備ができていますか?ところで私は怖い...


、あなたは誰がしても、ローカルネットワークにブロードキャストpingに応答しなくなることを準備する必要があります。 This question on SFが役に立ちます。

+0

私の目標は、設定されているIP /サブネットに関係なく、ネットワーク上のすべてのホストが応答することです。指揮された放送はうまく動作します。彼らが監督された放送に応答するなら、彼らは放送に応答しないだろうか?また、はい、これは私のLinuxボックスで動作します。 – PaulH

0

ブロードキャストUDPは、約20年間時代遅れです。ルータを経由して別のサブネットに到達する可能性はほとんどありません。

+0

私はインターネット全体にpingしようとしていません。私はそれがルータを通過するとは思わない。 – PaulH

+0

@PaulH:あなたは複数のサブネットに行くと予想しています。つまり、ルータやブリッジを横断したり、ホストをブリッジすることを意味します。この目的のために255.255.255.255が動作することは期待できません。 – EJP

+0

である必要はありません。同じスイッチ上に複数のサブネットを持つことができます。そういうわけではありません。しかし、それは可能です。 – PaulH

関連する問題