InfraView displays info about your current network environment.
Currently offering:
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
0.6.1 Remove path from "ip" as it changed in SFOS 4.5
0.5.1 Opt out of sailjail
0.4.5 New icon by JSEHV
0.4.4 External IP info now needs user-agent set
0.4.3 Dynamically update network details on frontpage on network change
0.4.2 Require extra dependency
0.4.1
0.3.4 Updated Spanish and Swedish
0.3.3
0.3.2 Removed non busybox grep compliant command
0.3.1
0.2.1
0.1.20 Spanish, Swedish and Russian updated
0.1.19 Added ConnMan services (wifi)
0.1.18
0.1.17
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
0.1-10 Added dutch, updated swedish
0.1-9 Added refesh option for main screen
0.1-8
0.1-7
0.1-6
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
0.1-1 Added local IP info
0.1-0 Initial release
Comments
ade
Mon, 2017/07/31 - 22:03
Permalink
it's using a different directory in my case. Another thing to solve, thanks for testing.
kaulian
Mon, 2017/07/31 - 21:39
Permalink
Thanks
Now for me missing 'idna' module =)
ade
Mon, 2017/07/31 - 21:43
Permalink
okay, hopefully the last :-(
PamNor
Mon, 2017/07/31 - 21:39
Permalink
Testing 0.1-4
Sorry to tell: External ip info -->
Missing module idna?
[nemo@Sailfish ~]$ harbour-infraview
[D] unknown:0 - Using Wayland-EGL
/usr/share/harbour-infraview/python/requests/__init
__.py:80: RequestsDependencyWarning: urllib3 (dev)
or chardet (3.0.4) doesn't match a supported versio
n!
RequestsDependencyWarning)
[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 98, in <
module>\n from . import packages\n\n File \"/us
r/share/harbour-infraview/python/requests/packages.
py\", line 7, in \n locals()[package] =
__import__(package)\n\nImportError: No module named
'idna'\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 98, in
from . import packages
File "/usr/share/harbour-infraview/python/request
s/packages.py", line 7, in
locals()[package] = __import__(package)
ImportError: No module named 'idna'
PamNor
Mon, 2017/07/31 - 21:26
Permalink
Yep. nmap-suid is installed
ade
Mon, 2017/07/31 - 21:43
Permalink
It's not searching nmap in the right location in your case. I explicitly set a search path, so not clue what causes this atm.
PamNor
Mon, 2017/07/31 - 21:07
Permalink
Testing 0.1.3
certifi missing?
File "/usr/share/harbour-infraview/python/request
s/__init__.py", line 97, in
from . import utils
File "/usr/share/harbour-infraview/python/request
s/utils.py", line 24, in
from . import certs
File "/usr/share/harbour-infraview/python/request
s/certs.py", line 15, in
from certifi import where
ImportError: No module named 'certifi'
ade
Mon, 2017/07/31 - 21:08
Permalink
too late, 0.1.4 is already available :-)
PamNor
Mon, 2017/07/31 - 20:59
Permalink
Testing 0.1-2
Devices in current network/Show more info: -> Retriewing device info (forever)
nmap-os-db file missing?
[nemo@Sailfish ~]$ harbour-infraview
[D] unknown:0 - Using Wayland-EGL
[D] :15 - call_nmap module is now imported
[D] :27 - call_nmap module is now imported
[D] unknown:0 - "PyOtherSide error: Traceback (most
recent call last):\n\n File \"/usr/share/harbour-
infraview/python/nmap.py\", line 322, in analyse_nm
ap_xml_scan\n dom = ET.fromstring(self._nmap_las
t_output)\n\n File \"/usr/lib/python3.4/xml/etree/
ElementTree.py\", line 1326, in XML\n return par
ser.close()\n\n File \"\", line None\n\nxm
l.etree.ElementTree.ParseError: no element found: l
ine 1, column 0\n\n\nDuring handling of the above e
xception, another exception occurred:\n\n\nTracebac
k (most recent call last):\n\n File \"/usr/share/h
arbour-infraview/qml/pages/call_nmap.py\", line 42,
in devinfo\n nm.scan(ip, arguments=\"-O\")\n\n
File \"/usr/share/harbour-infraview/python/nmap.py
\", line 266, in scan\n nmap_warn_keep_trace=nma
p_warn_keep_trace\n\n File \"/usr/share/harbour-in
fraview/python/nmap.py\", line 325, in analyse_nmap
_xml_scan\n raise PortScannerError(nmap_err)\n\n
nmap.PortScannerError: 'OS scan requested but I can
not find nmap-os-db file. It should be in /usr/loc
al/share/nmap, ~/.nmap/ or .\\nQUITTING!\\n'\n"
[D] onError:44 - Python ERROR: Return value of PyOb
ject call is NULL: Traceback (most recent call last
):
File "/usr/share/harbour-infraview/python/nmap.py
", line 322, in analyse_nmap_xml_scan
dom = ET.fromstring(self._nmap_last_output)
File "/usr/lib/python3.4/xml/etree/ElementTree.py
", line 1326, in XML
return parser.close()
File "", line None
xml.etree.ElementTree.ParseError: no element found:
line 1, column 0
During handling of the above exception, another exc
eption occurred:
Traceback (most recent call last):
File "/usr/share/harbour-infraview/qml/pages/call
_nmap.py", line 42, in devinfo
nm.scan(ip, arguments="-O")
File "/usr/share/harbour-infraview/python/nmap.py
", line 266, in scan
nmap_warn_keep_trace=nmap_warn_keep_trace
File "/usr/share/harbour-infraview/python/nmap.py
", line 325, in analyse_nmap_xml_scan
raise PortScannerError(nmap_err)
nmap.PortScannerError: 'OS scan requested but I can
not find nmap-os-db file. It should be in /usr/loc
al/share/nmap, ~/.nmap/ or .\nQUITTING!\n'
[D] onError:44 - Python ERROR: file:///usr/share/ha
rbour-infraview/qml/pages/DeviceInfo.qml:31: TypeEr
ror: Cannot read property '0' of undefined
ade
Mon, 2017/07/31 - 21:09
Permalink
It should be provided by nmap-suid (which is a dependency). Do you have that package installed?
PamNor
Mon, 2017/07/31 - 20:34
Permalink
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
Mon, 2017/07/31 - 20:43
Permalink
That's fast :-) Gonna add it in 0.0.1-3
explit
Sun, 2017/07/30 - 22:15
Permalink
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
Sun, 2017/07/30 - 23:17
Permalink
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
Mon, 2017/07/31 - 12:24
Permalink
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
Mon, 2017/07/31 - 12:31
Permalink
Okay, looks like a local issue with python modules. Will investigate further.
explit
Mon, 2017/07/31 - 13:59
Permalink
Thanks ade!
ade
Mon, 2017/07/31 - 20:38
Permalink
should be fixed in 0.0.1-2
explit
Mon, 2017/07/31 - 12:21
Permalink
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
Sat, 2017/07/29 - 19:35
Permalink
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
Mon, 2017/07/31 - 08:16
Permalink
Good, what about cutting or throttling the internet access for a device in the network/ip adress?
ade
Mon, 2017/07/31 - 11:29
Permalink
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
Sat, 2017/07/29 - 19:09
Permalink
Excellent!!
More features, please! (like what does cSploit...) ;-)
minitreintje
Sat, 2017/07/29 - 09:12
Permalink
Very handy :)
explit
Sat, 2017/07/29 - 01:33
Permalink
Very cool and usefull tool!
Looking foward further development!
Pages