IP(INT unsignedとして)アドレス、それらが使用されているセクター、およびマシンの名前を保存する必要があるデータベースをどのように構築する必要がありますか。利用可能な IP をすばやく検索するために使用されます。アドレスがネットワークごとに 254 を超えないことが知られているように、リストを使用して別のテーブルを作成する必要がありますか?
[編集]
別のことが頭に浮かびました。ネットワークが 192.168.x.1 から 192.168.x.254 に移行することをすでに知っていて、どの IP が空いているか、またはどの IP が特定のマシンに設定されているかを確認したい場合は、テーブルにアドレスを入力する必要があります。後でそれらを関連付けて、使用済みのものと無料のもののリストを作成しますか?
[編集]
nbtscan を使用した後、必要なデータを取得できると思います。コマンド
nbtscan 192.168.0.1-254 -t 20000
私に与えます:
Doing NBT name scan for addresses from 192.168.0.1-254
IP address NetBIOS Name Server User MAC address
------------------------------------------------------------------------------
192.168.0.135 EREBOS <server> EREBOS 00-00-00-00-00-00
192.168.0.130 CHAOS <unknown> 00-00-00-00-00-00
良い結果ですが:
nbtscan -s , 192.168.0.1-254 -t 20000
私に与えます:
192.168.0.130,CHAOS ,,<unknown>,00-00-00-00-00-00
192.168.0.135,EREBOS ,<server>,EREBOS ,00-00-00-00-00-00
そして今、私は使用しています:
<?php
header('Content-type: text/csv');
header('Content-disposition: attachment;filename=ips.csv');
include_once "conn.php";
$iprange = "192.168.0.1-254";
$timeout = 20000;
$separator = ",";
$strre = shell_exec("nbtscan -s $separator $iprange -t $timeout");
echo preg_replace('/ +/',',', $strre);
MySQL にインポートできる .csv ファイルを生成するには。それは良い解決策ですか?
理由はわかりませんが、nbtscan の列数が異なります。最初の行には 6 があり、次の行には 7 があります。誰もそれを解決する方法を知っていますか?