ping

几乎所有操作系统都自带ICMP Ping命令,直接打开系统shell执行 ping命令即可。

tcping

使用开源软件 cloverstd/tcping 实现。

Linux安装(amd64):

# 下载
wget https://github.com/cloverstd/tcping/releases/download/v0.1.1/tcping-linux-amd64-v0.1.1.tar.gz
# 国内使用GitHub代理下载
wget https://mirror.ghproxy.com/https://github.com/cloverstd/tcping/releases/download/v0.1.1/tcping-linux-amd64-v0.1.1.tar.gz
# 解压并安装
tar -xzvf tcping-linux-amd64-v0.1.1.tar.gz && sudo install tcping /usr/local/bin

Windows安装:

1. 访问release页面,下载名称带有“windows”的压缩包。
    release页面:https://github.com/cloverstd/tcping/releases

2. 使用7zip等压缩软件解压出tcping.exe文件。
    7-zip下载页面:http://www.7-zip.org/download.html

3. 将文件移动到带有环境变量的目录下。

4. 打开cmd或者powershell测试命令。

使用方式:
发起tcping请求。

tcping 223.5.5.5 53

高级用法(查询命令tcping --help):

Usage: 
  tcping host port [flags]

Examples:

  1. ping over tcp
        > tcping google.com
  2. ping over tcp with custom port
        > tcping google.com 443
  3. ping over http
        > tcping -H google.com
  4. ping with URI schema
        > tcping http://hui.lu
        

Flags:
  -c, --counter int              ping counter (default 4)
  -D, --dns-server stringArray   Use the specified dns resolve server.
      --head                     Use POST instead of GET in http mode.
  -h, --help                     help for tcping
  -H, --http                     Use "HTTP" mode. will ignore URI Schema, force to http
  -I, --interval string          ping interval, units are "ns", "us" (or "µs"), "ms", "s", "m", "h" (default "1s")
      --post                     Use HEAD instead of GET in http mode.
  -T, --timeout string           connect timeout, units are "ns", "us" (or "µs"), "ms", "s", "m", "h" (default "1s")
      --user-agent string        Use custom UA in http mode. (default "tcping")
  -v, --version                  show the version and exit

udping

使用开源软件 wangyu-/UDPping 实现。

Linux安装:

# 下载脚本:
wget https://raw.githubusercontent.com/wangyu-/UDPping/master/udpping.py
# 国内使用GitHub代理下载
wget https://mirror.ghproxy.com/https://raw.githubusercontent.com/wangyu-/UDPping/master/udpping.py
# 测试python环境变量
python --version
# 需要python3,如果返回版本正确,则可以使用。
# 如果环境变量不正确,需要修改环境变量或者脚本第1行内容。
# ......
# 最后安装
sudo install udpping.py /usr/local/bin/udping

Windows安装:
python脚本可以跨平台运行,但是我没有测试过在windows下运行。

使用方式:
在目标主机监听UDP端口。

# 安装socat
sudo apt install -y socat
sudo yum install -y socat
# 监听UDP端口
socat -v UDP-LISTEN:4000,fork PIPE

发起udping请求。

udping 44.55.66.77 4000

高级用法(查询命令udping):

usage:
   this_program <dest_ip> <dest_port>
   this_program <dest_ip> <dest_port> "<options>" 

 options:
   LEN         the length of payload, unit:byte
   INTERVAL    the seconds waited between sending each packet, as well as the timeout for reply packet, unit: ms

 examples:
   ./udpping.py 44.55.66.77 4000
   ./udpping.py 44.55.66.77 4000 "LEN=400;INTERVAL=2000"
   ./udpping.py fe80::5400:ff:aabb:ccdd 4000