MyNixOS website logo
Description

Identify, Ping, and Log Internet Provider Connection Data.

To assist you with troubleshooting internet connection issues and assist in isolating packet loss on your network. It does this by allowing you to retrieve the top trace route destinations your internet provider uses, and recursively ping each server in series while capturing the results and writing them to a log file. Each iteration it queries the destinations again, before shuffling the sequence of destinations to ensure the analysis is unbiased and consistent across each trace route.

pingers

CRAN_Status_Badge Cran Rdoc

Overview

The goal of pingers is to assist you with troubleshooting internet connection issues and assist in isolating packet loss on your network.

It does this by allowing you to retrieve the top trace route destinations your internet provider uses, and recursively ping each server in sequence while capturing the results and writing them to a log file. Each iteration it queries the destinations again, before shuffling the sequence of destinations to ensure the analysis is unbiased and consistent across each trace route.

Installation

# Install through CRAN
install.packages("pingers")

# Or the development version from GitHub
# install.packages("devtools")
devtools::install_github("jessevent/pingers")

Usage

The below showcases the main functions of the pingers package.

These functions will:

  • Retrieve hops between ISP destinations on your network
  • Ping a destination repeatedly and calculate packet loss
  • Repeat pinging the destinations to isolate and locate troublesome destinations
  • Shuffle the destinations in each iteration as to not be only testing for one path
# Install pingers from GitHub
# devtools::install_github("jessevent/pinger")
library(pingers)

# Retrieve top n traceroute results in your call stack
destinations <- get_destinations(top_n = 9)

# Ping the first result of destinations 50 times
ping_results <- ping_capture(destinations$ip[1], 50)

# File and path of where to save the network log
log_path     <- "~/Desktop/netlogs/network_logs.csv"

# Start recursively capturing network logs until cancelled or interupted.
# capture_logs(destinations = 3, pings = 10, log_path = log, sleep = 20) 

Use Ctrl + C to stop capturing logs, or the Stop button in RStudio.

Output

The network_log.csv file will contain the following:

timestampserverpackets_sentpackets_backpacket_losspackets_lostping_minping_avgping_maxping_stddevcall_sequence
2018-07-22T15:29:31.34Z10.0.0.0001010002.0933.5348.8261.9651
2018-07-22T15:29:40.48Z10.0.0.0011010002.6973.9488.6491.6672
2018-07-22T15:29:49.50Z10.0.0.0021091011.13.3665.0838.1631.3813
2018-07-22T15:29:58.53Z10.0.0.0037

Author/License

This project is licensed under the MIT License - see the LICENSE file for details.

Metadata

Version

0.1.1

License

Unknown

Platforms (75)

    Darwin
    FreeBSD
    Genode
    GHCJS
    Linux
    MMIXware
    NetBSD
    none
    OpenBSD
    Redox
    Solaris
    WASI
    Windows
Show all
  • aarch64-darwin
  • aarch64-genode
  • aarch64-linux
  • aarch64-netbsd
  • aarch64-none
  • aarch64_be-none
  • arm-none
  • armv5tel-linux
  • armv6l-linux
  • armv6l-netbsd
  • armv6l-none
  • armv7a-darwin
  • armv7a-linux
  • armv7a-netbsd
  • armv7l-linux
  • armv7l-netbsd
  • avr-none
  • i686-cygwin
  • i686-darwin
  • i686-freebsd
  • i686-genode
  • i686-linux
  • i686-netbsd
  • i686-none
  • i686-openbsd
  • i686-windows
  • javascript-ghcjs
  • loongarch64-linux
  • m68k-linux
  • m68k-netbsd
  • m68k-none
  • microblaze-linux
  • microblaze-none
  • microblazeel-linux
  • microblazeel-none
  • mips-linux
  • mips-none
  • mips64-linux
  • mips64-none
  • mips64el-linux
  • mipsel-linux
  • mipsel-netbsd
  • mmix-mmixware
  • msp430-none
  • or1k-none
  • powerpc-netbsd
  • powerpc-none
  • powerpc64-linux
  • powerpc64le-linux
  • powerpcle-none
  • riscv32-linux
  • riscv32-netbsd
  • riscv32-none
  • riscv64-linux
  • riscv64-netbsd
  • riscv64-none
  • rx-none
  • s390-linux
  • s390-none
  • s390x-linux
  • s390x-none
  • vc4-none
  • wasm32-wasi
  • wasm64-wasi
  • x86_64-cygwin
  • x86_64-darwin
  • x86_64-freebsd
  • x86_64-genode
  • x86_64-linux
  • x86_64-netbsd
  • x86_64-none
  • x86_64-openbsd
  • x86_64-redox
  • x86_64-solaris
  • x86_64-windows