あなたはアプリケーションが古いと言っていますが、それを実行している OS については何も言いません。16 ビット Windows または NT 3.x で実行している場合を除き、Winsock 2 に移行できない正当な理由はありません。Win95 用の Winsock 2 をダウンロードできます。また、それ以降のすべての Win9x OS にも含まれています。 Windows NT 4 以降と同様です。
このアプリを本当に Win16 で実行する必要がある場合は、生のソケットのサポートを提供していた当時のサードパーティの Winsock スタックの 1 つを掘り起こすことができるかもしれませんが、合法的に実行したい場合、それは非常に面倒なことのように思えます。 . 最小 OS バージョンとして Win98 を指定して先に進む方が簡単です。
編集: MS オペレーティング システムで組み込みの Winsock を使用する必要がある場合は、Winsock 2 に移行する必要があるraw socketsで必要なことを実行できると想定しています。Winsock 1.1 の代わりに Winsock 2 を使用するようにプログラムを変更するのは簡単です。1 つのライブラリの変更、1 つのヘッダー ファイルの変更、およびWSAStartup
呼び出しの変更で、完了です。生の ICMP ソケットを使用すると、任意の ICMP パケットを作成できます。新しい OS では、ICMP パケットもリッスンできる場合があります。スタックがソケットを介して必要なパケットをリッスンできないことが判明した場合は、代わりにパケットキャプチャ技術を使用してそれを行うことができます。