使用特定的网关接口或者源IP地址进行Ping
时间:2020-01-09 10:43:02 来源:igfitidea点击:
如何ping通网关的特定接口?
如何使用特定的源IP地址ping?
说明:ping命令确定网络目标是否可访问。
ping是获取有关包括LAN和Internet在内的计算机信息的有用命令行工具之一。
可以使用ping命令查找主机是否可以访问特定的IP地址。
ping的另一种用法是找出任意两个网络路由器或者其他网络设备(例如交换机,防火墙,网站,主机和其他东西)之间的距离(往返)。
本教程将学习使用特定网关接口的ping和使用特定源IP地址的ping。
如何使用特定的网关接口或者源IP地址ping
最初,类Unix系统具有ping命令。
但是,现在可以对所有领先的操作系统(例如Microsoft Windows等)使用ping版本。
这里讨论的版本仅在Linux,FreeBSD和类似Unix的系统上进行过测试。
ping命令通过将ICMP数据包发送到目标IP地址并侦听返回的数据包来工作。
语法为:
ping ip-address ping domain-name ping www.theitroad.local ping 192.168.1.254 ping [options] destination ping [options] [IP|hostname]
将-c选项传递给ping命令以仅发送数据包数量。
例如,仅向IP地址8.8.8.8发送四个数据包:
ping -c 4 8.8.8.8
使用特定的网关接口Ping
要查找类Unix或者* BSD系统上的接口名称,请运行ifconfig命令:
ifconfig ifconfig -a
Linux用户使用ip命令或者ifconfig命令:
ip a
您需要按如下所示传递-I选项:
ping -I interface destination ping -I eth0 www.theitroad.local ping -I tun0 1.1.1.1 ping -I br0 8.8.8.8 ################################################## ### for bsd ping use interface IP address ######## ### for e.g. vio0 interface has 192.168.122.124 ## ################################################## ping -c4 -I 192.168.122.124 www.theitroad.local ping -c4 -I tun0 www.theitroad.local
使用特定的源IP地址进行Ping
可以设置套接字sndbuf。
语法为:
ping -S ip dest ping -S 192.168.1.24 www.theitroad.local ping -c 4 -S 10.207.0.54 1.1.1.1
使用特定的源IP地址进行更严格的Ping操作
这是一个Shell脚本,它使用在基于FreeBSD的防火墙/路由器上配置的三个wan接口ping给定的域/IP地址。
该脚本用于循环和ping命令:
#!/bin/sh # Purpose : Linux ping from specific source ip address. # Ping three differnet ISPs and find out the fastest # ping round time for domain www.theitroad.local. # ------------------------------------------------- # Tested on FreeBSD and Linux only. # ------------------------------------------------- # License: GPL version 3.0 # Author: {https://www.theitroad.local} # ------------------------------------------------- d="www.theitroad.local" # set me # # my three ISPs A, B, and C with their interfaces IPv4 # for e in A:192.168.1.254 B:192.168.0.1 C:10.207.0.54 do IFS=':' set -- $e isp="" ipv4="" echo "*********************************" echo "Ping "$isp" ISP using $ipv4 IP..." echo "*********************************" ping -c 4 -S${ipv4} "${d}" done
似乎ISP A提供了更好的选择,因为完成一次完整的往返旅行所需的时间更少。