これは、 MS-Visual BASIC ver6.0 で作成しました
はじめに
TCP/IP ポートスキャナーです。
Connect (SYN -> ACK -> SYN ACK) で、空いているポートを探します。
ver2 からは、その後しばらく待機して RST/FIN が返って来ないかどうかまでチェックします。
リストボックス、またはプログラムのアイコンにファイルを D&D できます。
書式は、一行に「アドレス:ポート」という形式のテキスト・ファイル。
ポートには、「-10,80,90-1024,65530-」などと指定できます。
動作環境(ver1/ver2)
MS-Visual BASIC ver6.0 で作成したので、
32bit Windows なら、動くでしょう
ランタイムなどは、極力はずしてありますので、
Vector の"ユーティリティ" - "ランタイムパッケージなど" にある、"VB6ランタイム集【みやシリーズ起動用】"をインストールしておいてください。
このプログラムに必要なファイル
(ディストリビューションウィザードより)
ファイル名
|
含まれているパッケージ
|
MSCMCJP.DLL |
VB6ランタイム集【みやシリーズ起動用】 |
MSCOMCTL.OCX |
VB6ランタイム集【みやシリーズ起動用】 |
MSWINSCK.OCX |
VB6ランタイム集【みやシリーズ起動用】 |
VB6JP.DLL |
VB6ランタイム集【みやシリーズ起動用】 |
WINSKJP.DLL |
VB6ランタイム集【みやシリーズ起動用】 |
さらに ver2 からは、moji_chk.dll が必要です。
インストール方法(ver1)
まず、ランタイムをセットアップします。
(すでに、VB6 がインストールされているとか、上記のファイルは全てある、というのなら必要ないと思います。)
TCP_scan.lzh をダウンロードします。
ダウンロードしたファイルを解凍しします。
(LHA は、吉崎栄泰氏が、著作権を所有)
setup.exe を、実行します。
あとは、画面の指示に従ってください。
「スタートメニュー」-「プログラム」-「Network」に
"TCP Scaner" というアイコンができます。
ちなみに
source フォルダには、ソースが入っています。
(VisualBASIC 6.0 プロジェクト形式です)
使用方法
起動して使ってみれば分かると思います。
削除方法(ver1/ver2)
"コントロールパネル" - "アプリケーションの追加と削除" にて、"TCP Scaner" を選択すれば削除されます。
免責など
著作権は放棄します。
このソフトを使用したことによって生じた、
いかなる損害についても責任は持ちません。
このソフトを使用したいかなる不正使用に関する責任は、
すべて、本プログラムの利用者に属します。
ソースコードについても、各自の責任において、
自由にいじってくれてもいいです。
Version1.2.0.4DownLoad(tcp_scan.lzh as 276,953byte) (tcp_scan.lzh.base64)
(開発終了)
Version2.0.0.1DownLoad(tcp_scan2.lzh as 1,719,161byte) (tcp_scan2.lzh.base64)
インストール方法(ver2)
moji_chk.dll が必要です。インストールしておいてください。
TCP_scan2.lzh をダウンロードします。
ダウンロードしたファイルを解凍しします。
(LHA は、吉崎栄泰氏が、著作権を所有)
setup.exe を、実行します。
あとは、画面の指示に従ってください。
「スタートメニュー」-「プログラム」-「Network」に
"TCP Scaner" というアイコンができます。
- ver1.2.0.4 : (リリース日は忘れた)
最初のバージョン
- ver2.0.0.0 : (2003/11/28)
一から書き直し、メイン処理を spScan.dll に切り離し(ActiveX 化)
connect 後の FIN/RST 応答までチェックするようにした。
- ver2.0.0.1 : 内部 Form がオブジェクト変数ではなかったので、オブジェクト変数にした
VB6 SP6 ランタイムを含ませた(2007/11/03)
spScan.dll
ポート・スキャンを行う部分は、ActiveX として外だししています。
各自のプログラムで使うための情報として、CreateObject に渡す文字列とメソッド一覧かな。
なにげに DCOM のチェックはしていますので、DCOM になっていたりします。
CreateObject に渡す文字列は
メソッド一覧
- 文字列 = getIPAddress
セットされている IP アドレスを返す
- setIPAddress 文字列
ターゲットのアドレスをセットする
- 文字列 = getSourcePort
セットされている送信元ポート番号を返す
「0」の場合は、指定なし
- setSourcePort 数字
送信元ポート番号をセットする
0-65536 までを指定する
「0」の場合は、指定なし
- 文字列 = getTimeout
セットされているタイムアウト時間(秒)を返す
- setTimeout 数字
タイムアウト時間(秒)をセットする
0 より大きな整数を指定する(デフォルトは 3sec)
- コード = Scan(第一引数,第二引数)
スキャンする
第一引数:送信先ポート番号
第二引数:モード(0:通常モード,1(0以外):Coonnect後のFIN/RST応答もチェックする)
戻り値
0 : なんらかのエラー
1 : クローズ
2 : オープンだけどFIN が来る
3 : オープンだけどRST が来る
4 : オープン
mail to active@window.goukaku.com