0

我应该如何构建一个需要存储 IP(作为 INT 无符号)地址、使用它们的扇区和机器名称的数据库。它将用于快速搜索可用的 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 个。太讨厌了!有谁知道如何解决它?

4

1 回答 1

0

您是否考虑过使用 SolarWinds 的免费 IP 地址跟踪器?

http://www.solarwinds.com/downloads/

我以前用过它,它很好地满足了我的需求。为什么要重新发明轮子?

于 2012-10-11T20:58:56.683 回答