herzcthu / laravel-nmap
laravel 5.2 的 nmap 包装器
v0.1.0
2016-05-21 16:36 UTC
Requires
- php: >=5.3.0
- symfony/process: ^3.0
Requires (Dev)
- phpunit/phpunit: ^4.8
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);