Transform a Raspberry Pi into a network diagnostic machine.

Overview

EtherView

Last updated jan 30, 2022.

Welcome to the EtherView project!

This is a project to transform a RaspberryPi into a portable network diagnostic machine.

The goal of this project is to make a custom Linux distro to enable basic network diagnostic using a RaspberryPi with a touchscreen. I do not know how long I will maintain this project or how many bugs I will fix. I just want it to run.

The upcoming Linux distro will be based on RaspberryPi OS Lite and will launch a custom python application which will enable connectivity tests without the use of a keyboard.

Hardware

The hardware will be a RaspberryPi 3 or 4, with the official touchscreen. A case will also be used to improve ruggedness, but is optional. The main goal would be to run the Pi and screen on a battery, be it a USB power bank or an integrated lithium battery and charger.

Currently done

  • Obtain status of network interface(up/down)
  • Obtain basic network information (IPv4 address, netmask, default gateway) on a DHCP enabled network.
  • Ping a host using IPv4 address.
  • Check DNS connectivity
  • Test link speed of network interface and internet speed
  • Reload DHCP configuration
  • Basic GUI which shows connectivity
  • App can be forced to fullscreen
  • Pop-ups alert the user if something is wrong
  • Working progress bar for long requests
  • Clock
  • Basic settings menu (for interface, number of ping and host to check DNS)

To be done

  • Enable the user to set a static IP address
  • Create a numpad for the ping interface
  • Create a disk image of a minimal RaspberryPi OS-based distro which runs the python app in a kiosk mode (only app at boot)

Nice to have (maybe will be done, but are not the current focus)

  • Make settings persistent between reboots
  • More interactivity (screens)
  • More beautification (icons, images, fonts)
  • Enable the pi to see the public IP address
  • Enable the user to connect to wlan
  • Log data using PyShark
  • See visible hosts on network
  • Reference charts (maybe you network engineers can tell me which references you would like to have)
  • Network performance graphs (speed, latency...)

Can you do that? (nice ideas that may require extensive modifications of the OS or may not be possible)

  • SSH shell (will need either a virtual or physical keyboard)
  • Log network traffic
  • View VLANS
  • View and connect to domains
  • View control packets
  • Check cable length
  • Check cable wiring (maybe using a USB ethernet dongle or the GPIO pins)
  • Serial port
  • Remote wifi connection to a cellphone to enable wireless control.
  • TeamViewer integration?

Known limitations

  • Since the interface on the Raspberry is only gigabit, it may not be possible to test faster networks. It will work but the speed most likely will show 1 Gb/s (but hey, it's a 180$ network analyser, what did you expect).
  • Since it is using terminal commands and lookup of specific files (a bit hacky), it will most likely break one day when a update is performed to RaspberryPi OS. But most likely not next week.
  • There WILL be some security flaws. It is not intended to be a highly secure device, only a small tool for network enthusiasts. Use it at your own risk.
  • May not work on future Pi models.

Dependencies

  • socket
  • netifaces
  • struct
  • subprocess
  • speedtest-cli
  • tkinter
  • time
  • threading

Screenshots

Screenshot_20220130_112321 Screenshot_20220130_112341 Screenshot_20220130_112413 Screenshot_20220130_112524

If you want to support the project or have any questions, feel free to send me an email at [email protected]

You might also like...
Raspberry Pi Spectrometer
Raspberry Pi Spectrometer

PySpectrometer 2021-03-05 Raspberry Pi Spectrometer The PySpectrometer is a Python (OpenCV and Tkinter) implementation of an optical spectrometer. The

A global contest to grow and monitor your own food with Raspberry Pi
A global contest to grow and monitor your own food with Raspberry Pi

growlab A global contest to grow and monitor your own food with Raspberry Pi A capture from phototimer of my seed tray with a wide-angle camera positi

A Raspberry Pi Pico powered Macro board, like a Streamdeck but cheaper and simpler.
A Raspberry Pi Pico powered Macro board, like a Streamdeck but cheaper and simpler.

Env-MCRO A Raspberry Pi Pico powered Macro board, like a Streamdeck but cheaper and simpler. (btw this image is a bit outdated, some of the silkscreen

A Macropad using the Raspberry Pi Pico, programmed with CircuitPython.

A Macropad using the Raspberry Pi Pico, programmed with CircuitPython.

Raspberry Pi Pico and LoRaWAN from CircuitPython
Raspberry Pi Pico and LoRaWAN from CircuitPython

Raspberry Pi Pico and LoRaWAN from CircuitPython Enable LoRaWAN communications on your Raspberry Pi Pico or any RP2040-based board using CircuitPython

a weather application for the raspberry pi and the Pimorioni Inky pHAT.
a weather application for the raspberry pi and the Pimorioni Inky pHAT.

raspi-weather a weather application for the raspberry pi and the Inky pHAT

A versatile program that uses the raspberry pi camera and provides it as a service
A versatile program that uses the raspberry pi camera and provides it as a service

PiCameleon Is a daemon program meant to provide the RaspberryPi Camera as a service while running according to a configuration.

Monorepo for my Raspberry Pi dashboard and GPS satellite listener.
Monorepo for my Raspberry Pi dashboard and GPS satellite listener.

🥧 pi dashboard My blog post: Listening to Satellites with my Raspberry Pi This is the monorepo for my Raspberry Pi dashboard!

A low power 1U Raspberry Pi cluster server for inexpensive colocation.
A low power 1U Raspberry Pi cluster server for inexpensive colocation.

Raspberry Pi 1U Server There are server colocation providers that allow hosting a 1U server for as low as $30/month, but there's a catch: There are re

Releases(alpha-no_OS)
Owner
null
Turns a compatible Raspberry Pi device into a smart USB drive for PS4/PS5.

PSBerry A WIP project for Raspberry Pi, which turns a compatible RPI device into a smart USB drive for PS4/PS5. Allows for save management of PS4 game

Filip Tomaszewski 2 Jan 15, 2022
Using a raspberry pi, we listen to the coffee machine and count the number of coffee consumption

A typical datarootsian consumes high-quality fresh coffee in their office environment. The board of dataroots had a very critical decision by the end of 2021-Q2 regarding coffee consumption.

dataroots 51 Nov 21, 2022
Code and build instructions for Snap, a simple Raspberry Pi and LED machine to show you how expensive the electricyty is at the moment

Code and build instructions for Snap, a simple Raspberry Pi and LED machine to show you how expensive the electricyty is at the moment. On row of LEDs shows the cost of the hour, the other row the cost of the day.

Johan Jonk Stenström 3 Sep 8, 2022
a library for using WS2812b leds (aka neopixels) with Raspberry Pi Pico

pico_ws2812b a library for using WS2812b leds (aka neopixels) with Raspberry Pi Pico You'll first need to save the ws2812b.py file to your device (for

null 76 Nov 25, 2022
Micro Displays for Raspberry Pi

micro-displays Micro Displays for Raspberry Pi Why? I'm super bored in lockdown. Add a Raspberry Pi 400 and a few tiny displays... The top half of the

ig 291 Jul 6, 2022
A Python class for controlling the Pimoroni RGB Keypad for Raspberry Pi Pico

rgbkeypad A Python class for controlling the Pimoroni RGB Keypad for the Raspberry Pi Pico. Compatible with MicroPython and CircuitPython. keypad = RG

Martin O'Hanlon 43 Nov 11, 2022
Create a low powered, renewable generation forecast display with a Raspberry Pi Zero & Inky wHAT.

GB Renewable Forecast Display This Raspberry Pi powered eInk display aims to give you a quick way to time your home energy usage to help balance the g

Andy Brace 32 Jul 2, 2022
Raspberry Pi Pico development platform for PlatformIO

Raspberry Pi Pico development platform for PlatformIO A few words in the beginning Before experimental please Reinstall the platform Version: 1.0.0 Th

Georgi Angelov 160 Dec 23, 2022
Raspberry Pi Pico support for VS Code

Pico-Go VS Code Extension Pico-Go provides code auto-completion and allows you to communicate with your Raspberry Pi Pico board using the built-in REP

Chris Wood 114 Dec 28, 2022
Minimal and clean dashboard to visualize some stats of Pi-Hole with an E-Ink display attached to your Raspberry Pi

Clean Dashboard for Pi-Hole Minimal and clean dashboard to visualize some stats of Pi-Hole with an E-Ink display attached to your Raspberry Pi.

Alessio Santoru 104 Dec 14, 2022