#tcp-port #command-line-arguments #latency #ping #testing-tools #arguments-parser

app tcping

🛠️ A tool for testing native-to-target port latency, using Rust

7 releases (stable)

1.2.3 Oct 29, 2024
1.2.2 Oct 27, 2024
1.2.0 Sep 24, 2024
1.0.1 Jan 17, 2024
0.0.1 Jan 14, 2024

#72 in Testing

Download history 49/week @ 2024-07-28 162/week @ 2024-09-22 27/week @ 2024-09-29 4/week @ 2024-10-06 339/week @ 2024-10-27 9/week @ 2024-11-03

348 downloads per month

MIT license

17KB
310 lines

Table of Contents↗️

tcping-rs

🛠️ A TCP ping utility to determine reachability of a TCP port, using Rust.


Example

$ tcping github.com:443

Resolved address in 0.9340 ms
Probing 140.82.113.4:443/tcp - Port is open - time=12.7510ms
Probing 140.82.113.4:443/tcp - Port is open - time=12.4270ms
Probing 140.82.113.4:443/tcp - Port is open - time=11.4410ms
Probing 140.82.113.4:443/tcp - Port is open - time=12.7510ms

--- 140.82.113.4:443 tcping statistics ---
4 probes sent, 4 successful, 0.00% packet loss
Round-trip min/avg/max = 11.4410ms/12.3425ms/12.7510ms
Address resolved in 0.9340 ms

Installation

This project is built with Rust and Cargo. To install Rust and Cargo, follow the instructions here.

To build the project, navigate to the project directory and run:

cargo build --release

This will create an executable in the ./target/release directory.

Running

To run the executable, navigate to the ./target/release directory and run:

./target/release/tcping

Usage

tcping <host:port> [-c count] [-t] [-e] [-j] [-o mode]

Where:

  • host:port is the host and port to ping
  • -c count specifies the number of times to ping the host (default: 4)
  • -t enables continuous pinging
  • -e exits immediately after a successful probe
  • -j calculates and displays jitter
  • -o mode sets the output mode (normal, json, csv)
  • -h displays help
  • -V displays version

About

This tool allows you to measure the latency to a server using TCP. It is built with Rust and uses the clap library for command line argument parsing.

Special thanks

Jetbrains Logo

Thanks to Jetbrains for supporting this small open source project!

Dependencies

~3–11MB
~121K SLoC