TCP/IP のデータ列を再現/計算する ActiveX DLL と GUI プログラムのサンプル・スクリプトの説明です



プログラム本体はこちら

サンプルなので、プログラム自体にリッチな機能はついていないです。
つまり、初期値はソースコードの書き換えという手段となります。

まぁ、参考に誰かが作ってくれるでしょう...(^^;)

PortScan.vbs
ポート・スキャンをするツールです。
っていうか、TCP の SYN パケットを投げるだけですので、別途 LAN アナライザで SYN+ACK が返ってきているかどうかを確認すればポートスキャンになるでしょう。
SYN パケットの投げ逃げですので、完全ステルススキャンかも〜...

sComWinPCap 必要

使い方は、
c:\> cscript.exe PortScan.vbs ネットワークカード名


ネットワークカード名は、以下のように引数無しで実行すると一覧が表示される。
その中の「InterfaceName:」ってところです。
c:\> cscript.exe PortScan.vbs
ソースコード中の
stPort
スキャン開始ポート番号
enPort
スキャン終了ポート番号
GatewayMACAddress
対象ホスト、またはゲートウェイの MAC アドレス
このツールは自動で MAC アドレス解決などしませんので...(^^
myMACAddress
自分の MAC アドレス
このツールは自動で MAC アドレスを調べてくれたりもしません。
myIPAddress
自分の IP アドレス
このツールは自動で IP アドレスを調べてくれたりもしません。
diIPAddress
対象ホストの IP アドレス
myPortNo
スキャンするパケットの送信元ポート番号を指定する
は最低限、書き換えないとまともに動かないでしよう


ArpFlood.vbs
適当な ARP 応答パケットを投げ続けて、スイッチング・ハブ中の ARP テーブルを溢れさせられるかも知れない。

sComWinPCap 必要

使い方は、
c:\> cscript.exe ArpFlood.vbs ネットワークカード名


ネットワークカード名は、以下のように引数無しで実行すると一覧が表示される。
その中の「InterfaceName:」ってところです。
c:\> cscript.exe ArpFlood.vbs
ソースコード中の
distMACAddress
送信先の MAC アドレス
sourceMACAddress
送信元の MAC アドレス
空文字にすると、ランダムな値となる。
sourceIPAddress
自分の IP アドレス
空文字にすると、ランダムな値となる。
distIPAddress
送信先の IP アドレス
iMax
流すパケットの数
は最低限、書き換えないとまともに動かないでしよう


ArpPoison.vbs
適当な ARP パケットを投げ続けて、対象ホスト上の ARP テーブルに偽のレコードが追加できるかもしれない。

sComWinPCap 必要

使い方は、
c:\> cscript.exe ArpPoison.vbs ネットワークカード名


ネットワークカード名は、以下のように引数無しで実行すると一覧が表示される。
その中の「InterfaceName:」ってところです。
c:\> cscript.exe ArpPoison.vbs
ソースコード中の
distMACAddress
送信先の MAC アドレス
sourceMACAddress
送信元の MAC アドレス
ARP テーブルに保存させる MAC アドレス
sourceIPAddress
自分の IP アドレス
ARP テーブルに保存させる IP アドレス
distIPAddress
送信先の IP アドレス
iMax
流すパケットの数
は最低限、書き換えないとまともに動かないでしよう


rArpRequest.vbs
RARP 要求パケットを投げて、(MAC アドレスが既知の)対象ホストの IP アドレスを調べるツール。
対象ホストが RARP に対応していないとダメよん。

どんな返事がネットワークからもたらされるかは、別途 LAN アナライザで取得してください。

sComWinPCap 必要

使い方は、
c:\> cscript.exe rArpRequest.vbs ネットワークカード名


ネットワークカード名は、以下のように引数無しで実行すると一覧が表示される。
その中の「InterfaceName:」ってところです。
c:\> cscript.exe rArpRequest.vbs
ソースコード中の
distMACAddress
送信先の MAC アドレス
sourceMACAddress
送信元の MAC アドレス
まぁ、自分のものを指定する
sourceIPAddress
自分の IP アドレス
まぁ、自分のものを指定する
distIPAddress
送信先の IP アドレス
「0.0.0.0」のままでよい
は最低限、書き換えないとまともに動かないでしよう


udpTracert.vbs
UDP での TraceRoute です。
んでもって、UDP データ部に DNS リクエスト「www.yahoo.co.jp はどこ?」となっていますので、DNS サーバに対して行えば、最終的には DNS レスポンスが返って来るのではないかと思う。
(一般の UDP TraceRoute は ICMP そんなポート使っていないよメッセージです)

どんな返事がネットワークからもたらされるかは、別途 LAN アナライザで取得してください。

sComWinPCap 必要

使い方は、
c:\> cscript.exe udpTracert.vbs ネットワークカード名


ネットワークカード名は、以下のように引数無しで実行すると一覧が表示される。
その中の「InterfaceName:」ってところです。
c:\> cscript.exe udpTracert.vbs
ソースコード中の
distMACAddress
送信先の MAC アドレス
sourceMACAddress
送信元の MAC アドレス
まぁ、自分のものを指定する
sourceIPAddress
自分の IP アドレス
まぁ、自分のものを指定する
distIPAddress
送信先の IP アドレス
iMax
最大の TTL を指定
Interval
送信間隔(秒)
は最低限、書き換えないとまともに動かないでしよう


udpTracert2.vbs
UDP での TraceRoute です。
udpTracert.vbs では、DNS リクエストが固定でしたが、DNS クラスを使って、任意のリクエストにすることが(ソースコードを書き換えれば)できるでしょう。
どんな返事がネットワークからもたらされるかは、別途 LAN アナライザで取得してください。

sComWinPCap 必要

使い方は、
c:\> cscript.exe udpTracert2.vbs ネットワークカード名


ネットワークカード名は、以下のように引数無しで実行すると一覧が表示される。
その中の「InterfaceName:」ってところです。
c:\> cscript.exe udpTracert2.vbs
ソースコード中の
distMACAddress
送信先の MAC アドレス
sourceMACAddress
送信元の MAC アドレス
まぁ、自分のものを指定する
sourceIPAddress
自分の IP アドレス
まぁ、自分のものを指定する
distIPAddress
送信先の IP アドレス
QueryString
DNS リクエストに指定するホスト名
iMax
最大の TTL を指定
Interval
送信間隔(秒)
は最低限、書き換えないとまともに動かないでしよう


udpRecordRoute.vbs
UDP TraceRoute2.vbs を改造して UDP/DNS パケットに IP レコード・ルート・オプションをつけてみた。
(そもそも TCP で IP レコード・ルート・オプションが有効かどうかという問題があ〜る)
どんな返事がネットワークからもたらされるかは、別途 LAN アナライザで取得してください。

詳細は、udpTracert2.vbs を参照してくれ。


tcpRecordRoute.vbs
TCP の SYN パケットに IP レコード・ルート・オプションをつけてみた。
(そもそも TCP で IP レコード・ルート・オプションが有効かどうかという問題があ〜る)
どんな返事がネットワークからもたらされるかは、別途 LAN アナライザで取得してください。

sComWinPCap 必要

使い方は、
c:\> cscript.exe tcpRecordRoute.vbs ネットワークカード名


ネットワークカード名は、以下のように引数無しで実行すると一覧が表示される。
その中の「InterfaceName:」ってところです。
c:\> cscript.exe tcpRecordRoute.vbs
ソースコード中の
distMACAddress
送信先の MAC アドレス
sourceMACAddress
送信元の MAC アドレス
まぁ、自分のものを指定する
sourceIPAddress
自分の IP アドレス
まぁ、自分のものを指定する
distIPAddress
送信先の IP アドレス
は最低限、書き換えないとまともに動かないでしよう


icmpRedirect.vbs
icmp.vbs を改造して、ICMP Redirect メッセージを送信するサンプル




mail to active@window.goukaku.com