一、介绍
gping能够以折线图的方式,实时展示 ping 的结果,支持 Windows、Linux 和 macOS 操作系统。并且支持多个目标同时Ping同时展示折线图方便对比。下面扩展一下ICMP及ICMP隧道。
ICMP消息结构:
ICMP消息是由一个类型字段、一个代码字段、一个校验和字段和与特定消息类型相关的数据字段组成的。类型字段和代码字段一起确定了消息的类型和子类型,而数据字段可以携带各种信息,具体取决于消息的类型和代码。
灵活性:
ICMP协议设计灵活,允许在数据字段中携带各种信息。这种灵活性使得可以将数据包封装在ICMP消息中,并通过网络传输,因为数据字段的内容并不受到太多的限制,只要它在特定的消息类型和代码下合法。
封装和解封装:发送端将要传输的数据包封装在一个ICMP消息中,然后将该ICMP消息封装在一个IP数据包中,以便将其发送到目标。接收端首先解封装IP数据包,然后解封装包含原始数据包的ICMP消息,最终提取出原始数据包。
隧道技术:
ICMP隧道技术利用了ICMP消息的封装和解封装能力,使得数据包可以在ICMP消息中进行传输。通常,ICMP隧道软件会将要传输的数据分割成小块,并将每个小块封装在不同的ICMP消息中,然后发送到目标。在目标端,ICMP隧道软件会解析接收到的ICMP消息,提取出原始数据,并将其还原成完整的数据包。
隐蔽性:
ICMP隧道通常不太容易被网络审查或防火墙检测到,因为ICMP消息在网络中非常常见,用于各种网络管理任务。这使得ICMP隧道成为一种潜在的隐蔽通信方法。
二、安装
linux:
wget https://github.com/orf/gping/releases/download/gping-v1.14.0/gping-Linux-x86_64.tar.gz
安装包:https://download.csdn.net/download/weixin_45432833/88499459
mv gping /usr/local/bin/gping
[root@192 gping]# gping
Error: At least one host or command must be given (i.e gping google.com). Use --help for a full list of arguments.
##安装完成
三、参数说明
[root@192 gping]# gping --help
Ping, but with a graph.Usage: gping [OPTIONS] [HOSTS_OR_COMMANDS]...Arguments:[HOSTS_OR_COMMANDS]... Hosts or IPs to ping, or commands to run if --cmd is provided. Can use cloud shorthands like aws:eu-west-1.Options:--cmdGraph the execution time for a list of commands rather than pinging hosts-n, --watch-interval <WATCH_INTERVAL>Watch interval seconds (provide partial seconds like '0.5'). Default for ping is 0.2, default for cmd is 0.5.-b, --buffer <BUFFER>Determines the number of seconds to display in the graph. [default: 30]-4Resolve ping targets to IPv4 address-6Resolve ping targets to IPv6 address-i, --interface <INTERFACE>Interface to use when pinging-s, --simple-graphicsUses dot characters instead of braille--vertical-margin <VERTICAL_MARGIN>Vertical margin around the graph (top and bottom) [default: 1]--horizontal-margin <HORIZONTAL_MARGIN>Horizontal margin around the graph (left and right) [default: 0]-c, --color <color>Assign color to a graph entry.This option can be defined more than once as a comma separated string, and theorder which the colors are provided will be matched against the hosts orcommands passed to gping.Hexadecimal RGB color codes are accepted in the form of '#RRGGBB' or thefollowing color names: 'black', 'red', 'green', 'yellow', 'blue', 'magenta','cyan', 'gray', 'dark-gray', 'light-red', 'light-green', 'light-yellow','light-blue', 'light-magenta', 'light-cyan', and 'white'--clearClear the graph from the terminal after closing the program-h, --helpPrint help-V, --versionPrint version
四、效果展示
单ip结果:
双ip结果: