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)
This is an incredible led matrix simulation using the ultimate mosaik co-simulation framework.

This project uses the mosaik co-simulation framework, developed by the brilliant developers at the high-ranked Offis institue for computer science, Oldenburg, Germany, to simulate multidimensional LE

Felix 1 Jan 28, 2022
2D waypoints will be predefined in ROS based robots to navigate to the destination avoiding obstacles.

A number of 2D waypoints will be predefined in ROS based robots to navigate to the destination avoiding obstacles.

Arghya Chatterjee 5 Nov 05, 2022
3d printable macropad

Pico Mpad A 3D printable macropad for automating frequently repeated actions. Hardware To build this project you need access to a 3d printer. The mode

Dmytro Panin 94 Jan 07, 2023
Homeautomation system created with Raspberry Pi 3 and Firebase.

Homeautomation System - Raspberry Pi 3 Desenvolvido com Python, Flask com AJAX e Firebase permite o controle local e remoto Itens necessários Raspberr

Joselino Santos 0 Mar 09, 2022
FHEM Connector for FHT Heating devices

home-assistant-fht from: https://github.com/Rsclub22 FHEM Connector for FHT Heating devices (connected via FHEM) Requires FHEM to work You can find FH

5 Dec 01, 2022
Home Assistant component to handle key atom

KeyAtome Home Assistant component to handle key atom, a Linky-compatible device made by Total/Direct-Energie. Installation Either use HACS (default),

18 Dec 21, 2022
A simple Picobot project implemented in Python

Python-Picobot A simple Picobot project implemented in Python About Explanation This is my first programming project. Picobot use rules.txt file which

Shayan Shiravani 0 Apr 03, 2022
Examples to accompany the

Examples to accompany the "Raspberry Pi Pico Python SDK" book published by Raspberry Pi Trading, which forms part of the technical documentation in support of Raspberry Pi Pico and the MicroPython po

Raspberry Pi 589 Jan 08, 2023
NYCT-GTFS - Real-time NYC subway data parsing for humans

NYCT-GTFS - Real-time NYC subway data parsing for humans This python library provides a human-friendly, native python interface for dealing with the N

Andrew Dickinson 37 Dec 27, 2022
This application works with serial communication. Use a simple gui to send and receive serial data from arduino and control leds and motor direction

This application works with serial communication. Use a simple gui to send and receive serial data from arduino and control leds and motor direction

ThyagoKZKR 2 Jul 18, 2022
Controlling fireworks with micropython

Controlling-fireworks-with-micropython How the code works line 1-4 from machine

Montso Mokake 1 Jan 08, 2022
gdsfactory is an EDA (electronics design automation) tool to Layout Integrated Circuits.

gdsfactory 3.5.5 gdsfactory is an EDA (electronics design automation) tool to Layout Integrated Circuits. It is build on top of phidl gdspy and klayou

147 Jan 04, 2023
Python para microcontroladores com MicroPyhton

MicroPython - PyBR2021 Python para microcontroladores com MicroPyhton Repositório de exemplos para tutorial "Python para microcontroladores com MicroP

gabriel aragão 1 Oct 18, 2021
Zev es un Bot/Juego RPG de Discord creado en y para aprender Python.

Zev es un Bot/Juego RPG de Discord creado en y para aprender Python.

Julen Smith 3 Jan 12, 2022
I made this so I can control my Tapo L510 light bulb and Govee H6159 light strip using the PyP100 module and the Govee public API

TAPO-And-Govee-Controller I made this so I can control my Tapo L510 light bulb and Govee H6159 light strip using the PyP100 module and the Govee publi

James Westhead 0 Nov 23, 2021
Like htop (CPU and memory usage), but for your case LEDs. 😄

Like htop (CPU and memory usage), but for your case LEDs. 😄

Derek Anderson 3 Dec 08, 2021
Isaac Gym Environments for Legged Robots

Isaac Gym Environments for Legged Robots This repository provides the environment used to train ANYmal (and other robots) to walk on rough terrain usi

Robotic Systems Lab - Legged Robotics at ETH Zürich 372 Jan 08, 2023
从零开始打造一个智能家居系统

SweetHome 从零开始打造智能家居系统的尝试,主要的实现有 可以扫码添加设备并控制设备的Android App 可以控制亮灭的灯,并可以设置在Android App连接到指定Wifi后自动亮起 可以控制开关的窗帘,机械结构部分自己设计并3D打印出来 树莓派主控,实现Http请求接口和ZigBe

金榜 5 May 01, 2022
Lego Mindstorms EV3 and Lego Spike Prime

Lego Mindstorms EV3 and Lego Spike Prime What is FLL? The FIRST LEGO League Challenge Robotics Tournament challenges students from 9 to 16 years old t

Danimar Campos da Costa 1 Nov 14, 2021
3D-printable hexagonal mirror array capable of reflecting sunlight into arbitrary patterns

3D-printable hexagonal mirror array capable of reflecting sunlight into arbitrary patterns

Ben Bartlett 2.3k Dec 30, 2022