repat/willdurand-nmap

nmap is a PHP wrapper for Nmap, a free security scanner for network exploration. Updated for PHP 7.1

Maintainers

Details

github.com/repat/nmap

Source

0.8.3 2019-09-09 22:52 UTC

README

nmap is a PHP wrapper for Nmap, a free security scanner for network exploration.

Build Status

Updated version for symfony/process: ^4.0 and PHP 7.1+

Usage

$hosts = Nmap::create()->scan([ 'williamdurand.fr' ]);

$ports = $hosts->getOpenPorts();

You can specify the ports you want to scan:

$nmap = new Nmap();

$nmap->scan([ 'williamdurand.fr' ], [ 21, 22, 80 ]);

OS detection and Service Info are disabled by default, if you want to enable them, use the enableOsDetection() and/or enableServiceInfo() methods:

$nmap
    ->enableOsDetection()
    ->scan([ 'williamdurand.fr' ]);

$nmap
    ->enableServiceInfo()
    ->scan([ 'williamdurand.fr' ]);

// Fluent interface!
$nmap
    ->enableOsDetection()
    ->enableServiceInfo()
    ->scan([ 'williamdurand.fr' ]);

Turn the verbose mode by using the enableVerbose() method:

$nmap
    ->enableVerbose()
    ->scan([ 'williamdurand.fr' ]);

For some reasons, you might want to disable port scan, that is why nmap provides a disablePortScan() method:

$nmap
    ->disablePortScan()
    ->scan([ 'williamdurand.fr' ]);

You can also disable the reverse DNS resolution with disableReverseDNS():

$nmap
    ->disableReverseDNS()
    ->scan([ 'williamdurand.fr' ]);

You can define the process timeout (default to 60 seconds) with setTimeout():

$nmap
    ->setTimeout(120)
    ->scan([ 'williamdurand.fr' ]);

Version

0.8.3

Installation

The recommended way to install nmap is through Composer:

{
    "require": {
        "repat/willdurand-nmap": "^0.8"
    }
}

Or:

composer require repat/willdurand-nmap

License

nmap is released under the MIT License. See the bundled LICENSE file for details.