Welcome to SapporoWorks! We create stimulating network programs.
By a demand from user, SapporoWorks evolves.
トップページ| ソフトウエア| シェアウエア登録| セキュリティ情報| 開発情報| ドキュメント|
開発情報



Windowsのネットワーク・プログラミングに関するトピックをサンプルにしてみました。

C++BuilderからGeckoエンジンを使う方法
Geckoエンジンとは、Mozilla.org により開発されたHTMLレンダリング等のエンジンです。C++Buildrでは、IEのエンジンであるTCppWebBrowserが添付されており簡単に使用することができますが、Geckoエンジンも同様のActiveXコントロールとして、プログラムに張り付けて利用できます。

インターフェースの一覧取得
GetIfTable()を使用すると、現在のインターフェースの一覧が取得できます。
dwIndexを見ることで、他の一覧取得ライブラリと併用して情報を収集できそうです。

IPアドレス・ネットマスクの一覧取得
GetIpAddrTable()を使用すると、現在のIPアドレスの一覧が取得できます。
dwIndexを見ることで、他の一覧取得ライブラリと併用して情報を収集できそうです。

デバイスドライバを使用しないパケットモニタ
WinSock2.2(Windows2000 WindowsXP)以降 デバイスドライバを使用しないでもRAWソケット扱えるようになりました。
っと言うことで、早速、パケットモニタを作成してみました。UNIXではあたりまえの事でしたが、遂にWindwosでもA4一枚のプログラムでパケットがダンプできるようになったのでした。(^^)

TCP状態一覧取得
GetTcpTable()を使用すると、現在のTCP状態の一覧が取得できます。 これ、いわゆる、netstat -atn そのまんまです。

ICMPのECHO&REPLY
ICMPのECHO&REPLY pingコマンドそのまんまです。これは、WinSockのバージョンは1.xでも使用可能です。

TTLを1から初めて増やしていくことで、tracerouteも出来ると思います。

BASE64 エンコード・デコード
BASE64 は、バイナリデータなどを7ビットASCIIだけの文字列に変換するもので、電子メールの添付など各種のインターネット・プロトコルで使用されています。
変換方法は、3バイト(24ビット)のデータを、0(A)から64(/)までの6ビットの4文字に置き換えます。


Messenger サービス NT/2000
Messenger サービス とは、NTやWindows2000でデフォルトで起動しているメッセージ送信用サービスです。
通常、コマンドラインから、「 net send アドレス メッセージ 」という形式で送信できます。Windows98では、このサービスは動作していません。(別途対応ソフトなどをインストールする必要があります)


DNSサーバの取得
現在設定されているDNSサーバのアドレスは、GetNetworkParams()で取得できます。


TCP状態一覧取得(プロセスIDの取得を含むバージョン)
GetTcpTable()を使用すると、現在のTCP状態の一覧が取得できることを、先のTipsでご紹介しましたが、WindowsXPのnetstatは、 -o オプションで、それぞれのプロセスIDも表示できるようになりました。
今回は、これをプログラムするためのAPI AllocateAndGetTcpExTableFromStack() を紹介します。



開発情報

copyright(c) 1995- SapporoWorks
当サイトはリンクフリーです。リンク時に連絡などは必要有りません。また、どのページにリンクして頂いても構いません。