[英]Ping broadcast on Win XP SP3
我正在嘗試ping WinXP SP3上的廣播地址255.255.255.255。
如果使用命令行,則會收到主機錯誤:
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 );
我可以ping通本地廣播192.168.0.255
,沒有問題。
對ping廣播,我需要做什么?
謝謝PaulH
據我所知,這在Windows中不起作用。 在Linux操作系統中,您可以ping 255.255.255.255,但是路由協議不會在本地網絡外部中繼255.255.255.255廣播。
您想達到什么目的? 您准備好在連接的地球上的每台計算機都將做出響應嗎? 我很害怕...
順便說一句,您應該准備好即使在本地網絡中也沒有人會響應廣播ping。 有關SF的問題可能有用。
廣播UDP已過時約20年。 最不可能通過路由器到達另一個子網。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.