Minimum ping command clone by Crystal langage.
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
spec
src
.editorconfig
.gitignore
.travis.yml
LICENSE
README.md
shard.yml

README.md

Ping.cr

The minimum ICMP echo handling shard.

This shard is only an experiment to use the raw socket in the Crystal language.

Installation

  1. Add the dependency to your shard.yml:
dependencies:
  ping:
    github: arcage/ping.cr
  1. Run shards install

Usage

# src/ping_command.cr
require "ping"

Ping.command(ARGV.shift)
$ sudo crystal src/ping_command.cr 192.0.2.1
PING 192.0.2.1: 56 data bytes
64 bytes from 192.0.2.1: icmp_seq=0 ttl=253 time=1.903 ms
64 bytes from 192.0.2.1: icmp_seq=1 ttl=253 time=1.466 ms
64 bytes from 192.0.2.1: icmp_seq=2 ttl=253 time=1.355 ms
64 bytes from 192.0.2.1: icmp_seq=3 ttl=253 time=2.115 ms
64 bytes from 192.0.2.1: icmp_seq=4 ttl=253 time=2.074 ms

--- 192.0.2.1 ping statistics ---
5 packets transmitted, 5 packets received, 0% packet loss
round-trip min/avg/max/stddev = 1.355/1.783/2.115/0.346 ms

NOTE: Because this shard use RAW SOCKET, you need sudo when execute the program with this shard.

Contributors