Winsock for C++ に代わる実行可能な代替手段はありますか? 私が必要とする理由は、Winsock の raw ソケットが適切に動作していないため (いいえ、これは修正できません。時間を無駄にしないでください)、WinPCAP はネットワーク トラフィックを監視することしかできず、実際にパケットを受信することはできません。IP、UDP、TCP ヘッダーなどを含む完全なパケットを受信できるものが必要です。そのようなものは存在しますか?存在しない場合は、なぜですか?
2485 次
2 に答える
6
WinPCAP はネットワーク トラフィックを監視するだけで、実際にパケットを受信することはできません
ネットワーク トラフィックを監視することは、パケットを受信することと同じです。それはまさに Wireshark などのツールが行うことです: ネットワーク カードを読み取り、パケット境界を再構築します。
IP、UDP、TCP ヘッダーなどを含む完全なパケットを受信できるものが必要です。
これは、Winsock API を使用することで可能になります。WSAIoctl
関数、特にオプションを見SIO_RCVALL
てください。このオプションを有効にすると、インターフェイスで受信したすべてのパケットがソケットに配信されます。そして、これらは IP ヘッダーで始まる生の IP パケットです。
于 2010-08-16T02:30:28.173 に答える
1
Boost.Asioを見ることができます。C++ クロスプラットフォーム IO ライブラリ。UDP、TCP、および ICMP のサポート。
于 2010-08-16T02:15:50.013 に答える