infraview

Rating: 
4.925925
Your rating: None Average: 4.9 (27 votes)

InfraView displays info about your current network environment.

Currently offering:

  • External IP info
  • Local IP info
  • Devices in network (nmap)
  • ARP cache table info/clearing
  • Local network port connections (netstat)
  • ConnMan connections
  • DNS resolving
  • Ping
  • Traceroute

Uses python-nmap, nmap dnspython

It has nmap-suid as a requirement, which runs as root. The netstat part is also taking root privileges to collect more detailed info.

Using ping and tracerout needs the following terminal action:

devel-su usermod -a nemo -G net_raw

If you are not comfortable with this, please to NOT install this app!
 

Sources on github

Screenshots: 

Keywords:

Application versions: 
AttachmentSizeDate
File harbour-infraview-0.2-1.i486.rpm969.59 KB17/09/2019 - 22:55
File harbour-infraview-0.2-1.armv7hl.rpm968.39 KB17/09/2019 - 22:55
File harbour-infraview-0.3-1.armv7hl.rpm970.5 KB19/09/2019 - 22:31
File harbour-infraview-0.3-1.i486.rpm971.5 KB19/09/2019 - 22:31
File harbour-infraview-0.3-2.armv7hl.rpm969.86 KB24/10/2019 - 21:26
File harbour-infraview-0.3-2.i486.rpm971.6 KB24/10/2019 - 21:26
File harbour-infraview-0.3-3.armv7hl.rpm973.68 KB20/10/2020 - 21:30
File harbour-infraview-0.3-3.i486.rpm976.06 KB20/10/2020 - 21:30
File harbour-infraview-0.3-4.armv7hl.rpm617.29 KB22/11/2020 - 19:39
File harbour-infraview-0.3-4.i486.rpm619.65 KB22/11/2020 - 19:39
File harbour-infraview-0.4-2.armv7hl.rpm617.45 KB28/11/2020 - 03:46
File harbour-infraview-0.4-2.i486.rpm619.57 KB28/11/2020 - 03:46
File harbour-infraview-0.4-3.armv7hl.rpm617.48 KB30/11/2020 - 15:01
File harbour-infraview-0.4-3.i486.rpm619.79 KB30/11/2020 - 15:01
Changelog: 

0.4.3 Dynamically update network details on frontpage on network change
0.4.2 Require extra dependency

0.4.1

  • Updated Chinese
  • No longer use deprecated statefs

0.3.4 Updated Spanish and Swedish

0.3.3

  • Updated serveral 3rd party python libraries
  • Removed hardcoded dependencies on user nemo

0.3.2 Removed non busybox grep compliant command

0.3.1

  • Added Chinese translation
  • Added ping tool page
  • Now verifying if user nemo is member of net_raw group (for ping and traceroute)

0.2.1

  • Load mainpage info async
  • Fixed dimmed color issue
  • Refresh option added on multiple pages
  • Added traceroute on tools page

0.1.20 Spanish, Swedish and Russian updated

0.1.19 Added ConnMan services (wifi)

0.1.18

  • Updated Spanish
  • Removed ISP location image, as it now requires Google apikey
  • Replaced ISP location image with OpenStreetMap link

0.1.17

  • Added Russian translation
  • Added DNS resolver

0.1.16 rescale Internet provider map to screen resolution

0.1.15 Spanish translation added and Dutch updated

0.1.14 Some fixes in netstat part

0.1.13 Fixed some security issues reported by robbbienert

0.1-12 Updated swedish

    0.1-11

    • Option to kill nemo processes in netstat screen
    • Sort netstat list on users and identify by color
    • Added option to clear entire arp cache
    • Added option to remove specific arp cache entry

    0.1-10 Added dutch, updated swedish

    0.1-9 Added refesh option for main screen

    0.1-8

    • Added missing network name
    • Info on coverpage

    0.1-7

    • updated swedish language
    • better landscape layout

    0.1-6

    • Added Swedish (thanks Eson57)
    • for wlan added: dns/dhcp/domain name/broadcast address

    0.1-5 Added missing idna library

    0.0.1-4 Added missing certifi library

    0.1-3 Added missing chardet library

    0.1-2

    • Added missing urllib3 to package
    • Added subnet mask

    0.1-1 Added local IP info
    0.1-0 Initial release
     

    Comments

    ade's picture

    It should be provided by nmap-suid (which is a dependency). Do you have that package installed?

    PamNor's picture

    Testing 0.1-2
    New error: Missing library chardet?

    [nemo@Sailfish ~]$ harbour-infraview
    [D] unknown:0 - Using Wayland-EGL
    [D] unknown:0 - "PyOtherSide error: Traceback (most
    recent call last):\n\n File \"/usr/share/harbour-
    infraview/qml/pages/call_location.py\", line 5, in
    \n from requests import get # not avail
    able by default!\n\n File \"/usr/share/harbour-inf
    raview/python/requests/__init__.py\", line 44, in <
    module>\n import chardet\n\nImportError: No modu
    le named 'chardet'\n"
    [D] unknown:0 - "PyOtherSide error: Traceback (most
    recent call last):\n\n File \"\", line 1,
    in \n\nNameError: name 'call_location' is
    not defined\n"
    [D] onError:50 - Python ERROR: Cannot import module
    : call_location (Traceback (most recent call last):

    File "/usr/share/harbour-infraview/qml/pages/call
    _location.py", line 5, in
    from requests import get # not available by de
    fault!

    File "/usr/share/harbour-infraview/python/request
    s/__init__.py", line 44, in
    import chardet

    ImportError: No module named 'chardet'
    )
    [D] :29 - call_location module is now imported
    [D] onError:50 - Python ERROR: Function not found:
    'call_location.get_geolocation' (Traceback (most re
    cent call last):

    File "", line 1, in

    NameError: name 'call_location' is not defined
    )
    [D] :33 - undefined
    [D] onError:50 - Python ERROR: file:///usr/share/ha
    rbour-infraview/qml/pages/LocationInfo.qml:34: Type
    Error: Cannot read property '0' of undefined
    screen -Dr
    failed to register buffer
    Minnesegmentsfeil
    [nemo@Sailfish ~]$ screen -Dr
    There is no screen to be detached.

    ade's picture

    That's fast :-) Gonna add it in 0.0.1-3

    explit's picture

    Very good app, thanks! I found one issue on Fairphone FP2 and Sailfish 2.1.0.11: External IP info is hanging and doesn't show. On Wlan and LTE.
    How could it be solved?

    ade's picture

    I would expect it to show "unknown" if something goes wrong.

    https://api.ipify.org should give you your external IP.
    https://tools.keycdn.com/geo.json?host=<your_external_ip> should give you "whois" info.
    Does that work from your phone (you can try in the browser)?

    If it does, could you start harbour-infraview from terminal and show me the output from opening the external ip page? It should show a line with internet provider info.
    You can replace any output values with dummy values where if you want to show your provider info here.

    It also loads an google image from the location of the provider, but can't imagine your issue is related to this.

    explit's picture

    Here is the output by starting from terminal:

    [nemo@Fairphone-FP2 ~]$ harbour-infraview
    [D] unknown:0 - Using Wayland-EGL
    [W] unknown:0 - Defaulting to webview scaling factor of 1.0
    [W] unknown:0 - No default allowed orientations defined. Check your device c
    onfiguration!
    [D] unknown:0 - "PyOtherSide error: Traceback (most recent call last):\n\n
    File \"/usr/share/harbour-infraview/qml/pages/call_location.py\", line 5, in
    \n from requests import get # not available by default!\n\n Fi
    le \"/usr/share/harbour-infraview/python/requests/__init__.py\", line 43, in
    \n import urllib3\n\nImportError: No module named 'urllib3'\n"
    [D] unknown:0 - "PyOtherSide error: Traceback (most recent call last):\n\n
    File \"\", line 1, in \n\nNameError: name 'call_location' is
    not defined\n"
    [D] onError:50 - Python ERROR: Cannot import module: call_location (Tracebac
    k (most recent call last):

    File "/usr/share/harbour-infraview/qml/pages/call_location.py", line 5, in

    from requests import get # not available by default!

    File "/usr/share/harbour-infraview/python/requests/__init__.py", line 43,
    in
    import urllib3

    ImportError: No module named 'urllib3'
    )
    [D] :29 - call_location module is now imported
    [D] onError:50 - Python ERROR: Function not found: 'call_location.get_geoloc
    ation' (Traceback (most recent call last):

    File "", line 1, in

    NameError: name 'call_location' is not defined
    )
    [D] :33 - undefined
    [D] onError:50 - Python ERROR: file:///usr/share/harbour-infraview/qml/pages
    /LocationInfo.qml:34: TypeError: Cannot read property '0' of undefined

    ade's picture

    Okay, looks like a local issue with python modules. Will investigate further.

    explit's picture

    Thanks ade!

    ade's picture

    should be fixed in 0.0.1-2

    explit's picture

    Thanks ade for the info:
    The first link you send me show on my FP2. 2.247.246.200
    Secon link answer with an long string:
    {"status":"success","description":"Data successfully received.","data":{"geo":{"host":"2.247.246.200","ip":"2.247.246.200","rdns":"x2f7f6c8.dyn.telefonica.de","asn":"AS6805","isp":"Telefonica Germany ","country_name":"Germany","country_code":"DE","region":"","city":"","postal_code":"","continent_code":"EU","latitude":"51.299301147461","longitude":"9.4910001754761","dma_code":"0","area_code":"0","timezone":"Europe\/Berlin","datetime":"2017-07-31 11:11:44"}}}

    ade's picture

    Thanks for the positive responses!
    I am open to suggestions, but keep in mind that my goal is not to create some exploit/penetration test suite.
    My objective is to get an overview of my network(devices), hence the name.

    Jordi's picture

    Good, what about cutting or throttling the internet access for a device in the network/ip adress?

    ade's picture

    This goes beyond the scope of viewing. Technically it is also not possible. You can prevent client internet access from a central router/firewall, but not from a client itself. It would be a design mistake if any random client could block other clients.
    Using iptables you can control access rights on your own device, that's all afaik.

    Jordi's picture

    Excellent!!

    More features, please! (like what does cSploit...)    ;-)

    minitreintje's picture

    Very handy :)

    explit's picture

    Very cool and usefull tool!
    Looking foward further development!

    Pages