worldping

command module
v0.0.0-...-6c45f4e Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 19, 2021 License: MIT Imports: 20 Imported by: 0

README

Worldping is educational project to scan Internet IPv4 addresses and check services availability.

Hosts checker is written in Go and implemented in distributed manner. It publishes scan data to central database. Currently only ping check available.

Visualization of the results of scanning could be done on top of it. For example, using Hiblert curve.

Technical Features

  • Dynamically evaluated concurrency level based on Load Average
  • Graceful shutdown (for saving unsubmitted results, closing connections)
  • Dependencies managed by 'go mod' (https://github.com/golang/go/wiki/Modules)

Performance

Performance during scan - is a main feature of this project. Current version scans 10000 hosts in 1 sec and spinning up thousands goroutines:

2019-01-02 13:17:31 NOTICE Saving results to DB: total 32767, pinged 0, maxIP 243.225.18.153 (4091613849)
2019-01-02 13:17:32 NOTICE Goroutines: 375785 (12348300)
2019-01-02 13:17:34 NOTICE DB Goroutines: 1
2019-01-02 13:17:34 NOTICE Saving results to DB: total 32767, pinged 0, maxIP 243.225.156.113 (4091649137)
2019-01-02 13:17:46 NOTICE Goroutines: 371429 (12348600)
2019-01-02 13:17:48 NOTICE DB Goroutines: 1
2019-01-02 13:17:48 NOTICE Saving results to DB: total 32767, pinged 0, maxIP 243.225.233.215 (4091668951)
2019-01-02 13:17:51 NOTICE DB Goroutines: 1
2019-01-02 13:17:51 NOTICE Saving results to DB: total 32767, pinged 0, maxIP 243.226.72.93 (4091693149)

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
Package mocks is a generated GoMock package.
Package mocks is a generated GoMock package.
pkg

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL