Tool for ROS 2 IP Discovery + System Monitoring

Overview

rclshark​ 🐢 🦈

latest : v1.0.1

Monitor the status of computers on a network using the DDS function of ROS2.

開発者向けのツールで、リモートマシンへのSSHログインの際に必要なローカルIPアドレスを簡単に発見します。リモートマシンに対して拡張機能を追加し、CPU温度などのマシン内部の情報をログイン無しでモニタリングすることもできます。

rclsharkはセットアップされたデバイスに対してIPアドレス固定などのデバイスごとの面倒なセットアップ無しにIPアドレスの取得を行い、デバイスの状態を取得することができます。インストールも簡単で、組み込みコンピュータの新規開発のお供として役に立ちます。

rclshark_swim

Documents

Requirements

  • ROS2 foxy-core Installation
  • python3-colcon-common-extensions
  • build-essential

rclshark​ 🐢 🦈

rclshark is an IP address display system that takes advantage of the DDS publishing nature of the ros2 node to the local network, and can recognize any device with ROS2 installed. rclshark is also a service server, and has a function to report computer status using psutil.

See rclshark-smi for details.

Usage 1 : Run as ROS2 RUN

$ source /opt/ros/foxy/setup.bash
$ mkdir -p ~/ros2_ws/src
$ cd ~/ros2_ws/src
$ git clone --recursive https://github.com/Ar-Ray-code/rclshark.git
$ cd ~/ros2_ws/
$ colcon build --symlink-install
$ source ~/ros2_ws/install/local_setup.bash
$ ros2 run rclshark rclshark

Usage 2 : Back-end installation (systemd)

Installation (Startup Automatically)

In case of$ROS_DISTRO=foxy,

$ git clone https://github.com/Ar-Ray-code/rclshark.git
$ sudo bash rclshark/rclshark/install.bash foxy

If you want to enable rclshark immediately, run at CUI (= multi-user-target) $ sudo systemctl start rclshark.service.

uninstall

$ sudo bash ~/ros2_ws/src/rclshark/rclshark/install.bash uninstall

Usage 3 : Docker

$ docker pull ray255ar/rclshark:latest

RUN docker container

$ docker run -it --rm rclshark:local

Confirmation rclshark

Since rclshark is an application that uses the basic functions of ROS2, you can find it with the ros2 command.

## Confirmation rclshark 1
$ ros2 node list | grep ip_
> /ip_192.168.11.10_end
> /ip_192.168.11.22_end
## Confirmation rclshark 2
$ ros2 service list | grep endcb
> /ip_192.168.11.10_endcb
> /ip_192.168.11.22_endcb

Now you can safely forget your IP address. 😉

rclshark-smi​ 🐢 🦈

You can use rclshark to check the hardware status of multiple computers. You don't even need to bother opening htop. Good for you! 😊

IP addresses are sorted in ascending order and are dynamically added and removed. See Usage 2 for installing rclshark-smi. If you want to use only rclshark-smi, type sudo systemctl disable rclshark.service. to use only rclshark-smi.

rclshark-smi-docker

There are two ways to run.

Usage 1 : Run as ROS2 RUN

$ source /opt/ros/foxy/setup.bash
$ mkdir -p ~/ros2_ws/src
$ cd ~/ros2_ws/src
$ git clone --recursive https://github.com/Ar-Ray-code/rclshark.git
$ cd ~/ros2_ws/
$ colcon build --symlink-install
$ source ~/ros2_ws/install/local_setup.bash
$ ros2 run rclshark-smi rclshark_smi.py

Usage 2 : Run from /usr/local/bin/rclshark-smi

## Install
$ git clone https://github.com/Ar-Ray-code/rclshark.git
$ sudo bash rclshark/rclshark/install.bash foxy
$ sudo systemctl disable rclshark.service
## Run rclshark-smi
$ rclshark-smi

Demo

YouTube

Operation method

  • 'q'-> Enter : exit rclshark-smi

Known Problems​ ​(rclshark-smi) ??

  • If the rclshark process started using Docker is interrupted, rclshark-smi will freeze. In that case, rclshark-smi will exit as the Timeout after 5 seconds. Keep in mind that the same event can also happen with non-Docker rclshark.
  • We are considering releasing a lightweight version of rclshark-smi that does not involve sending or receiving messages.

About writer 🐢 🦈

You might also like...
Qtas(Quite a Storage)is an experimental distributed storage system developed by Q-team in BJFU Advanced Computer Network sources.

Qtas(Quite a Storage)is a experimental distributed storage system developed by Q-team in BJFU Advanced Computer Network sources.

This is a Client-Server-System which can share the screen from the server to client and in the other direction.

Screenshare-Streaming-Python This is a Client-Server-System which can share the screen from the server to client and in the other direction. You have

This is a Client-Server-System which can send audio from a microphone from the server to client and in the other direction.

Audio-Streaming-Python This is a Client-Server-System which can send audio from a microphone from the server to client and in the other direction. You

OptiPLANT is a cloud-based based system that empowers professional and non-professional data scientists to build high-quality predictive models

OptiPLANT OptiPLANT is a cloud-based based system that empowers professional and non-professional data scientists to build high-quality predictive mod

Simple local RPG turn-based to play while learn something using the anki system
Simple local RPG turn-based to play while learn something using the anki system

Simple local RPG turn-based to play while learn something using the anki system

A Python tool used to automate the execution of the following tools : Nmap , Nikto and Dirsearch but also to automate the report generation during a Web Penetration Testing
A Python tool used to automate the execution of the following tools : Nmap , Nikto and Dirsearch but also to automate the report generation during a Web Penetration Testing

📡 WebMap A Python tool used to automate the execution of the following tools : Nmap , Nikto and Dirsearch but also to automate the report generation

ANalyse is a vehicle network analysis and attack tool.
ANalyse is a vehicle network analysis and attack tool.

CANalyse is a tool built to analyze the log files to find out unique datasets automatically and able to connect to simple user interfaces suc

Tool for quickly gathering information from Shodan.io about the number of IPs which satisfy large number of different queries

TriOp Tool for quickly gathering information from Shodan.io about the number of IPs which satisfy large number of different queries For furt

Passive TCP/IP Fingerprinting Tool. Run this on your server and find out what Operating Systems your clients are *really* using.

Passive TCP/IP Fingerprinting This is a passive TCP/IP fingerprinting tool. Run this on your server and find out what operating systems your clients a

Releases(v1.0.3)
  • v1.0.3(Sep 29, 2021)

    The following changes have been made in v1.0.2 to v1.0.3. It is possible to mix v1.0.2 and v1.0.3.

    Change of installation method (example) sudo bash install.bash /opt/ros/foxy. Change in the readme

    Raspbian-rclshark

    The best Raspberry Pi OS.

    :exclamation: Pre-integrated image is also available for download for a limited time.

    Raspberry Pi OS (Raspbian) and ROS Foxy pre-built images are available. This image comes with rclshark, which allows SSH login just by connecting an Ethernet without connecting a display.

    Try the new remote access experience.

    Write to SD

    Run the following command after download two files split-raspbian-00 and split-raspbian-01 .

    sudo apt install p7zip-full
    cat split-raspbian-00 split-raspbian-01 >> rpi.7z
    7z x rpi.7z
    

    After that, write image to SD card using Raspberry Pi Imager.

    Start Raspberry Pi

    • Connect

      • Written SD Card
      • Power 5V 3A
      • Ethernet
    • Not connect

      • Keyboard & Mouse
      • Display

    Search Raspberry Pi

    Run ROS Command on your laptop.

    source /opt/ros/foxy/setup.bash
    ros2 node list | grep end
    
    # result : /ip_192_168_11_47_end
    

    Connect Raspberry Pi by SSH !

    Source code(tar.gz)
    Source code(zip)
    split-raspbian-00(1430.51 MB)
    split-raspbian-01(849.00 MB)
  • v1.0.2(Sep 8, 2021)

    It is not compatible with previous versions (v1.0.1).

    • remove disk_percent
    • remove process_count
    • add username
    • fix other bugs

    rclshark-smi

    • Get data only once.
    • update docker (docker pull ray255ar/rclshark:v1.0.2)
    Source code(tar.gz)
    Source code(zip)
  • v1.0.1(Jul 16, 2021)

    Fixed a bug caused by username restrictions. With this update, users with usernames other than "Ubuntu" will be able to install successfully, too.

    • Change rclshark/rclshark.service

      • multi-user.target -> default.target
      • Users=ubuntu -> delete (The name of the login user will be automatically assigned during installation.)
      • Group=ubuntu -> delete
    • Add Turtle ASCII Art

    rclshark_turtle

    Source code(tar.gz)
    Source code(zip)
  • v1.0.0(Jul 8, 2021)

Owner
Ar-Ray
1st grade of National Institute of Technology(=Kosen) student. Associate degree
Ar-Ray
Linux SBC featuring two wifi radios, masquerading as a USB charger.

The WiFiWart is an open source WiFi penetration device masquerading as a regular wall charger. It features a 1.2Ghz Cortex A7 MPU with two WiFi chips onboard.

Walker 151 Dec 26, 2022
FramIp - it a framework for work at IP and domain

FramIp FramIp - it a framework for work with IP and domain Installation (termux) $ pkg install git && pkg install python && git clone https://github.c

1 Jan 28, 2022
Evaluation of TCP BBRv1 in wireless networks

The Network Simulator, Version 3 Table of Contents: An overview Building ns-3 Running ns-3 Getting access to the ns-3 documentation Working with the d

3 Nov 01, 2021
Simple threaded Python Rickroll server. Listens on port 23 by default.

Terminal Rickroll Simple threaded Python Rickroll server. Listens on port 23 by default. Rickroll video made using Video-To-Ascii and the standard ric

AG 10 Sep 13, 2022
Geowifi 📡 💘 🌎 Search WiFi geolocation data by BSSID and SSID on different public databases.

Geowifi 📡 💘 🌎 Search WiFi geolocation data by BSSID and SSID on different public databases.

GOΠZO 441 Dec 23, 2022
Home Assistant integration for MyEnergi devices

myenergi for Home Assistant myenergi custom component for Home Assistant This is a very early release, will add more documentations soon! This compone

Johan Isacsson 70 Dec 18, 2022
WebRTC and ORTC implementation for Python using asyncio

aiortc What is aiortc? aiortc is a library for Web Real-Time Communication (WebRTC) and Object Real-Time Communication (ORTC) in Python. It is built o

3.2k Jan 07, 2023
Multi-vendor library to simplify CLI connections to network devices

Netmiko Multi-vendor library to simplify CLI connections to network devices Why Netmiko? Network automation to screen-scraping devices is primarily co

Kirk Byers 3k Jan 01, 2023
Base on browser-time to get har from network, and use python to analyze the data .

base on browser-time to get har from network, and use python to analyze the data

1 Dec 20, 2021
Python script to stop qBittorrent from torrenting without VPN for users with static IP.

Python script to stop qBittorrent from torrenting without VPN for users with static IP.

voidoak_ 1 Oct 25, 2021
A simple and lightweight server that allows clients to connect and launch a shell remotely through a browser.

carrotsh A simple and lightweight server that allows clients to connect and launch a shell remotely through a browser. Uses xterm.js for the frontend

V9 31 Dec 27, 2022
This is an open project to maintain a list of domain names that serve YouTube ads

The YouTube ads blocklist project This is an open project to maintain a list of domain names that serve YouTube ads. The original project only produce

Evan Pratten 574 Dec 30, 2022
TradingView Interactive Brokers Integration using Webhooks

TradingView Interactive Brokers Integration using Webhooks

84 Dec 19, 2022
Anonymously Reverse shell over Tor Network using Hidden Services without portfortwarding

Anonymously Reverse shell over Tor Network using Hidden Services without portfortwarding Tor ağı ile Dark Web servislerini kullanarak anonim biçimde p

249 Dec 29, 2022
🐛 SSH self spreading worm written in python3 to propagate a botnet.

Mirkat SSH self spreading worm written in python3 to propagate a botnet. Install tutorial. cd ./script && sh setup.sh Support me. ⚠️ If this reposito

Ѵιcнч 58 Nov 01, 2022
Tsunami-Fi is simple multi-tool bash application for Wi-Fi attacks

🪴 Tsunami-Fi 🪴 Русская версия README 🌿 Description 🌿 Tsunami-Fi is simple multi-tool bash application for Wi-Fi WPS PixieDust and NullPIN attack,

【Kiko】 35 Dec 09, 2022
It's an extra broadcast driver for masonite. It adds support for socketio.

It's an extra broadcast driver for masonite. It adds support for socketio.

Yubaraj Shrestha 6 Feb 23, 2022
This is a python based command line Network Scanner utility, which input as an argument for the exact IP address or the relative IP Address range you wish to do the Network Scan for and returns all the available IP addresses with their MAC addresses on your current Network.

This is a python based command line Network Scanner utility, which input as an argument for the exact IP address or the relative IP Address range you wish to do the Network Scan for and returns all t

Abhinandan Khurana 1 Feb 09, 2022
This tool is for finding more detailed information of an IP Address.

This tool is for finding more detailed information of an IP Address.

3 Oct 08, 2021
Slowloris is basically an HTTP Denial of Service attack that affects threaded servers.

slowrise-ddos-tool What is Slowloris? Slowloris is basically an HTTP Denial of S

DEMON cat 4 Jun 19, 2022