Metadata-Version: 1.1
Name: lanscan
Version: 0.9.5
Summary: Python 3 module to collect and display information about the hosts and devices on the local network
Home-page: https://github.com/sumpfgottheit/lanscan
Author: Florian Sachs
Author-email: florian.sachs@gmx.at
License: MIT
Description: lanscan
        =======
        
        ::
        
             # lanscan  scan
                  ip                    name                     mac          alive                vendor                                        open ports
            =======================================================================================================================================================================
            192.168.50.1     router.asus.com              54:a0:50:5b:32:81   True    ASUSTek COMPUTER INC.              53, 8443
            192.168.50.97                                 1c:5a:6b:78:48:52   True    Philips Electronics Nederland BV   2323, 8000, 49154
            192.168.50.107   kindle-4bef0bcfc             74:c2:46:12:5b:01   True    Amazon Technologies Inc.           5000, 5555, 7000, 7100, 8008
            192.168.50.124   YotaPhone-1b4fe319cb0f71a1   28:c6:71:01:3a:6d   True    Yota Devices OY
        
        ``lanscan`` is a Python 3 module, that provides the ``lanscan`` console
        command. It scans a given local network and presents all devices on this
        network. It also gives information about present network interfaces and
        networks. ``lanscan`` uses the ``nmap``, ``tcpdump`` and ``ping``
        commands.
        
        Usage::
        
            $ lanscan
            Usage: lanscan [OPTIONS] COMMAND [ARGS]...
        
            Options:
              -d      Print debug messages to stdout.
              --help  Show this message and exit.
        
            Commands:
              interfaces  Display a list available interfaces
              networks    Display a list of available networks.
              scan        Scan a network, defaults to default network.
        
        Show interfaces
        ---------------
        
        A list of all current interfaces::
        
            $ lanscan interfaces
            #      interface      driver                         hardware
            ===================================================================================
            1   br-e0e27b4e551f
            2   docker0
            3   enp0s20f0u1u4     r8152     Realtek RTL8152/RTL8153 Based USB Ethernet Adapters
            4   lo
            5   wlp1s0            iwlwifi   Intel(R) Wireless WiFi driver for Linux
        
        Show local networks
        -------------------
        
        A list of all local networks::
        
            $ lanscan networks
            #   default        cidr            interface
            ===============================================
            1             127.0.0.0/8       lo
            2             172.17.0.0/16     docker0
            3             172.18.0.0/16     br-e0e27b4e551f
            4   *         192.168.50.0/24   enp0s20f0u1u4
        
        Scan a local network
        --------------------
        
        The ``lanscan scan`` command has a few parameters::
        
            $ lanscan scan --help
            Usage: lanscan scan [OPTIONS]
        
              Scan a network, defaults to default network.
        
            Options:
              -n, --network TEXT          The network to scan in CIDR notation or the
                                          network number from 'lanscan networks'
              --vendor / --no-vendor      Vendor lookup based on Mac addres. Requires
                                          internet connection.
              --portscan / --no-portscan  Let nmap do a simple connect-portscan.
              --help                      Show this message and exit.
        
        Let's scan the default network::
        
             # lanscan  scan
                  ip                    name                     mac          alive                vendor                                        open ports
            =======================================================================================================================================================================
            192.168.50.1     router.asus.com              54:a0:50:5b:32:81   True    ASUSTek COMPUTER INC.              53, 8443
            192.168.50.97                                 1c:5a:6b:78:48:52   True    Philips Electronics Nederland BV   2323, 8000, 49154
            192.168.50.107   kindle-4bef0bcfc             74:c2:46:12:5b:01   True    Amazon Technologies Inc.           5000, 5555, 7000, 7100, 8008
            192.168.50.124   YotaPhone-1b4fe319cb0f71a1   28:c6:71:01:3a:6d   True    Yota Devices OY
        
        Installation
        ------------
        
        ``lanscan`` has been written using Python 3.5, so the chances are good,
        that Python versions from 3.3 may work. It has been written on linux and
        I don't think, that it will work on Windows or OS X.
        
        Create a virtualenv and call ``pip install lanscan``. The requirements
        will automatically be installed within your virtualen. To make calling
        easier, create the file ``/usr/local/bin/lanscan`` with::
        
             #!/bin/bash
             source ${PATH_TO_YOUR_VIRTUALENV}/bin/activate
             lanscan $@
        
        
        Necessary permissions
        ---------------------
        
        ``lanscan`` needs special permissions, to be able to open a raw socket. You may run it as root - not recommended - or you set the necessary capabilities (man 7 capabilities). 
        The capability needed is ``cap_net_raw=eip`` and this needs to be set on the python interpreter used and the ``tcpdump`` binary using ``setcap``. ``setcap`` cannot work on
        symlinks, so the real binary is needed. ``setcap`` needs to be run with superuser privileges::
        
           setcap cap_net_raw=eip /path/to/virtualenv/bin/python3
           setcap cap_net_raw=eip $(which tcpdump)
        
        You may need to install the necessary packages. On OpenSuse, the package is called ``libcap-progs``. On Arch, everything should be in place.
        
        The github repository can be found at
        
        https://github.com/sumpfgottheit/lanscan
        
Keywords: network scanner active passive dpkt html
Platform: UNKNOWN
Classifier: Development Status :: 4 - Beta
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3.5
Classifier: Operating System :: Unix
Classifier: Topic :: Utilities
Classifier: Environment :: Console
