Go to file
2020-07-21 11:27:37 +08:00
.github/workflows Update workflow 2020-07-21 11:22:45 +08:00
cmd/tcping Update workflow 2020-07-21 11:22:45 +08:00
pkg Reorganize folder structure 2020-07-21 10:39:02 +08:00
.gitignore Reorganize folder structure 2020-07-21 10:39:02 +08:00
go.mod change repo name 2020-05-11 22:38:50 +08:00
go.sum change repo name 2020-05-11 22:38:50 +08:00
LICENSE.md first release 2020-05-11 22:18:16 +08:00
README.md Update README 2020-07-21 11:27:37 +08:00

Introduction

Tcping is ping probe command line tool, supporting ICMP, TCP and HTTP protocols.

You can also use it to query IP information from https://ifconfig.is.

Features

  • Support ICMP/TCP/HTTP protocols
  • Query basic IP information

Installation

  1. Download latest release (recommend)

  2. Use go get

go get -u github.com/i3h/tcping
  1. Build on your own
git clone https://github.com/i3h/tcping.git
cd tcping
go build

Usage

  -h string
        HTTP Ping
  -i string
        ICMP Ping
  -m string
        MTR Trace
  -q string
        Query ip information
  -t string
        TCP Ping
  -v    Version

Examples

$ tcping -h https://www.google.com
Proxy     :    false
Scheme    :    https
Host      :    www.google.com
DNS Lookup:    2.05 ms
TCP       :    2.41 ms
TLS       :    68.92 ms
Process   :    29.28 ms
Transfer  :    0.19 ms
Total     :    103.06 ms
$ tcping -i www.google.com
ICMP   OPEN      74.125.200.147    2.2 ms
$ tcping -t www.google.com:443
TCP    OPEN      www.google.com:443
$ tcping -q www.google.com
IP     :    172.217.194.103
City   :    Queenstown Estate
Country:    Singapore
ISP    :    Google LLC
AS     :    AS15169 Google LLC

Note

Root permission is required when running ICMP ping, since it needs to open raw socket.

You can either use sudo command, or set setuid bit for tcping.

// Use sudo for one-time ping
$ sudo tcping -i google.com

// Set setuid bit
$ sudo chown root:root tcping
$ sudo chmod u+s tcping

License

See the LICENSE file for license rights and limitations (MIT).

Acknowledgements

lmas/icmp_ping.go

sparrc/go-ping

davecheney/httpstat