herzcthu/laravel-nmap

laravel 5.2 的 nmap 包装器

v0.1.0 2016-05-21 16:36 UTC

This package is not auto-updated.

Last update: 2024-09-26 01:17:52 UTC


README

laravel 的 nmap 包装器。

并非所有 nmap 参数都受支持。所有参数方法都可以使用方法链。但请尽量使用正确的组合,根据 nmap 的使用方式。

以下为支持的参数。

--help

$help = new LaravelNmap();
$help->NmapHelp();

-v (详细)

$nmap = new LaravelNmap();
$nmap->verbose();

-O (检测操作系统)

$nmap->detectOS();

-sV (检测服务)

$nmap->getServices();

-sn (禁用端口扫描 - 同 -sP) 此方法不能与其他扫描类型一起使用。请参阅 nmap 帮助以获取更多信息。

$nmap->disablePortScan();

-p [ports] (选择端口扫描 - 请参阅 nmap 帮助以获取更多信息)

$nmap->scanPorts('22,80,443');

*** 目标 *** (此方法是所有扫描类型必须的)

$nmap->setTarget('192.168.43.0/24');

输出

有 3 种输出类型。

  • Nmap 原始输出到 stdout。
  • SimpleXML 对象
  • 数组
$nmap->getRawOutput();
$nmap->getXmlObject();
$nmap->getArray();

安全

此包允许使用 root 权限,如果 php 用户在 sudo 组中。如果不知道与 nmap 相关的安全风险,请勿使用。建议不要使用。

以下代码将启用 sudo 权限 -

$nmap = new LaravelNmap(true);

其他选项

支持的其他选项包括 setTimeout($seconds) 和 setEnv($name, $value)。

如果想要增加默认的进程超时时间,请使用 setTimeout()。

示例

$nmap->setTimeout('300');

如果要在运行进程时设置环境变量,请使用 setEnv($name, $value);