Skip to content

i3h/tcping

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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/cmd/tcping
  1. Build on your own
git clone https://github.com/i3h/tcping.git
cd tcping/cmd/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

# Test port
$ tcping google.com 443

TCP    OPEN      [2404:6800:4003:c03::71]:443

# Test with protocol
$ tcping https://google.com

Continent:    North America
Country  :    United States
Latitude :    37.751000
Longitude:    -97.822000
TimeZone :    America/Chicago
IsEU     :    false
ASN      :    15169
ORG      :    GOOGLE

Proxy     :    false
Scheme    :    https
Host      :    google.com
DNS Lookup:    0.85 ms
TCP       :    1.62 ms
TLS       :    3.11 ms
Process   :    32.91 ms
Transfer  :    0.15 ms
Total     :    38.72 ms

# HTTP ping
$ tcping -h https://google.com

Proxy     :    false
Scheme    :    https
Host      :    google.com
DNS Lookup:    0.92 ms
TCP       :    1.71 ms
TLS       :    2.99 ms
Process   :    32.24 ms
Transfer  :    0.14 ms
Total     :    38.10 ms

# ICMP ping
$ tcping -i google.com

ICMP   OPEN      172.217.194.113    2.0 ms

# Query IP info
$ tcping -q google.com

Continent:    North America
Country  :    United States
Latitude :    37.751000
Longitude:    -97.822000
TimeZone :    America/Chicago
IsEU     :    false
ASN      :    15169
ORG      :    GOOGLE

# Test port
$ tcping -t google.com:443

TCP    OPEN      google.com:443

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