プロが教える店舗&オフィスのセキュリティ対策術

DOS上でTCP通信を行うプログラムを作成する必要が出てきましたが、どのように作成すればよいかわからない状態です。

動作環境としては、DOS上にLanManagerをインストールしたPCで、コンパイラは、MS-C7.0です。

WindowsではWinSockを使用したプログラミングの経験はありますが、DOSではどのように行えばよいかわかりません。

ライブラリなどが必要と思うのですが、フリーのライブラリなどがあるのでしょうか。

何か情報があれば教えてください。

A 回答 (4件)

趣味も合わせて実務経験からご回答申し上げます。



まず必要なのは、パケットドライバというものです。
むかし、通常パケットドライバはネットワークカード製品についていたものですが、3ComやIntelは別途配布する形でしたのでネットワークカード製品には付いていません。
最近はDOSベースで使うユーザーも少ないためか日本国内ではパケットドライバの入手は困難です。
PC98とかだと更に難しいです。

PC/AT互換機やDOS/Vなら、

幸いなことに、
古くから良く知られているダウンロードサイトで

http://www.simtel.net/

があります(英語)。
日本には無いとてつもなく大きなサイトで、DOSでもMacでもOS-9でも何でもあります。
ここで半角英字キーワード「packet driver」で検索してください。

例)
・3c509a.zip - 3c509 (Etherlink III) packet driver, v10.1
・exp16104.zip - Intel EtherExpress 16 packet driver for new TP
 などがあります。

自分の環境に合ったネットワークドライバがどうしてもほしいときは

 http://www.network-drivers.com/

から検索してください(これも英語)。
世界中のネットワークカードが検索できて、対応していればDOS用のパケットドライバを手に入れることができます。

DOS上でTCP/IPをアプリとして使うだけなら、DOSPPPというものを使えばメールやブラウザを使用できます。
simtel.net 等のダウンロードサイトで「DOSPPP」で検索すればその手のプログラムが探し出せます。


◆プログラミングについて

パケットドライバは最下位のレイヤーに相当するので、プログラミングは、基本的にはアセンブラでコーディングします。
パケットドライバはプロトコルスタックを実装しています。操作は、このプロトコルスタックと呼ばれる部分の操作が大半になります。
TCP/IPを使うなら、TCP/IPスタックですね。稀にドライバによっては含んでいないこともあるので注意してください。

WinSock等はいわゆる、このプロトコルスタックを操作するライブラリなのですが現在はフリーソフトではなくなったため使えません。(フリーソフトだったのは20年以上も前の話です ^^;)

基本的に、どのメーカーのパケットドライバでもNovell-NE2000用に書かれたプログラムは必ず動作します。つまり、このNE2000用のプログラムを作ればいいわけです。

プログラムを作るには、このパケットドライバを呼び出します。いくつかのパケットドライバを落としてくると、中にはサンプルのプログラムとかが入っています。この辺を参照しながら作ってゆくと幸せになれるかもしれません。

環境の構築方法についてはもっと詳しい方法が、
Googleで「パケットドライバ 使い方」等で引いてみると出てきます。

お役に立ちましたら幸いです。
    • good
    • 0

 TCP/IPの通信で何をするのかが問題ではないかと思います。


 LanManagerを導入するとNETBIOSのインターフェースが導入されるのでWindowsNT系コンピュータとの間で認証やファイル共有がプログラミングなしでできるようにはなりますが、これはTCP/IPと関係ないばかりでなく、貴重なコンベンショナルメモリーを圧迫してDOSアプリを使うことができなくなる可能性があります。そこで、みなさんがパケットドライバーを推奨していらっしゃるのだと思います。
 もし、Socket通信をするのであればWatt-32のようなDOS用のライブラリを導入すればいいと思います。ただ、MSCは使えないようです。

参考URL:http://homepages.nildram.co.uk/~phekda/richdawe/ …
    • good
    • 0

そもそもDOSには標準のTCP/IPプロトコルスタックはありませでした。


また、LANカードのドライバもDOSのNDISやODIをサポートしたものが必要です。
ライブラリ以前にTCP/IPプロトコルスタックやLANカードをどうするかということから検討する必要があると思います。
    • good
    • 0

DOS版の著名なネットワークソフトは、これを使用している物が多いようです。



http://www.programmersheaven.com/zone3/cat531/13 …

http://www.programmersheaven.com/zone3/cat531/13 …

LANカードはPacketDriverと呼ばれるDOS用のドライバが用意されているものか、NDISドライバが用意されていれば、PacketDriverとのブリッジが可能なようですね。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!