精华内容
下载资源
问答
  • tcping用于监控TCP,可以查看到服务器PING值信息,即使在禁PING的网络环境下也能使用,用于查看监控服务器,还能监听到服务器的端口是否正常状态,查看PING的返回时间,检查服务器网络是否正常。需要在CMD命令提示符...
  • 可交互的并发ping检测脚本,供大家学习参考。重点& 跟wait,这样“并发”的结果是输出结果不是能按顺序,后台返回。如果需要再排序下
  • 本源码实现了IPC摄像头在线ping检测以及设备网络异常告警邮件发送的功能,本源码可以供初学者及有工作经验的人员使用。通过本源码你可以学习到: 1)如何对IP设备进行ping检测,当ping若干次都ping不通,则认为IP...
  • ping检测

    千次阅读 2017-10-23 20:09:46
    用途ping检测 主要有以下几个用途: 检测服务器响应速度 测试网站的响应速度、解析时间 测试网站的下载速度、http状态、GZIP压缩、文件大小等 我在日常的 站点维护 中,也会常常使用到 ping检测 。检测途径通过终端...

    用途

    ping检测 主要有以下几个用途:

    • 检测服务器响应速度
    • 测试网站的响应速度、解析时间
    • 测试网站的下载速度、http状态、GZIP压缩、文件大小等

    我在日常的 站点维护 中,也会常常使用到 ping检测

    检测途径

    通过终端(快捷)

    直接在终端敲入 ping <ip>
    这里写图片描述

    如果迟迟得不到来自 指定IP回应 ,则说明 ping不通

    通过相关网站(美观)

    网上有很多这样的 站长工具网站 ,随便找一个,在 ping检测搜索框 敲入 ping <ip>
    这里写图片描述

    就能得到图形化的 ping检测 结果。
    这里写图片描述

    此类网站往往还提供了其他多项的检测指标,非常直观。



    展开全文
  • 利用多线程技术,可同时多对多个地址进行Ping检测,当ping结果发生变化时记录日志,可用于检测网络环境。
  • ping 检测源代码

    2015-08-11 10:02:27
    ping检测服务器的网络状态,首先发送ICMP报文给服务器,服务器如果收到次报文,则返回同样的ICMP报文。
  • 一个ping脚本,服务器通用告警函数。在没有 nagios 的情况下,这个暂且可以用来作为服务器告警使用
  • C# 自动Ping 检测服务器是否运行正常,非常好用。间隔时间、IP地址、接收短信的号码都读取配置文件
  • 1、通过Ping检测网络故障的典型次序 (1)ping 127.0.0.1 这个Ping命令被送到本地计算机的IP软件,该命令永不退出该计算机。如果没有做到这一点,就表示TCP/IP的安装或运行存在某些最基本的问题。 (2)ping 本机IP ...

    1、通过Ping检测网络故障的典型次序
    (1)ping 127.0.0.1
    这个Ping命令被送到本地计算机的IP软件,该命令永不退出该计算机。如果没有做到这一点,就表示TCP/IP的安装或运行存在某些最基本的问题。

    (2)ping 本机IP
    这个命令被送到你计算机所配置的IP地址,你的计算机始终都应该对该Ping命令作出应答,如果没有,则表示本地配置或安装存在问题。出现此问题时,局域网用户请断开网络电缆,然后重新发送该命令。如果网线断开后本命令正确,则表示另一台计算机可能配置了相同的IP地址。

    (3)ping 局域网内其他IP
    这个命令应该离开你的计算机,经过网卡及网络电缆到达其他计算机,再返回。收到回送应答表明本地网络中的网卡和载体运行正确。但如果收到0个回送应答,那么表示子网掩码不正确或网卡配置错误或电缆系统有问题。

    (4)ping 网关IP
    这个命令如果应答正确,表示局域网中的网关路由器正在运行并能够做出应答。

    (5)ping 远程IP
    如果收到4个应答,表示成功的使用了缺省网关。对于拨号上网用户则表示能够成功的访问Internet(但不排除ISP的DNS会有问题)。

    (6)ping localhost
    localhost是个做系统的网络保留名,它是127.0.0.1的别名,每台计算机都应该能够将该名字转换成该地址。如果没有做到这一带内,则表示主机文件(/Windows/host)中存在问题。

    (7)ping 某远程主机的域名
    对某个域名执行ping命令,通常是通过DNS 服务器。如果这里出现故障,则表示DNS服务器的IP地址配置不正确或DNS服务器有故障。

    2.IPconfig命令
    该诊断命令显示所有当前的 TCP/IP 网络配置值。该命令在运行DHCP系统上的特殊用途,允许用户决定 DHCP 配置的 TCP/IP 配置值,了解计算机当前的IP地址、子网掩码和缺省网关,实际上是进行测试和故障分析的必要项目。
    1.1 命令格式
    ipconfig [/all /renew [adapter]  /release [adapter]]
    1.2 实验内容
    (1)不带参数
    当使用IPConfig时不带任何参数选项,那么它为每个已经配置了的接口显示IP地址、子网掩码和缺省网关值。
    操作要求:请使用ipconfig命令查看自己计算机的IP地址、子网掩码和缺省网关的情况。命令使用如下:ipconfig
    (2)/all参数
    当使用all选项时,IPConfig能为DNS和WINS服务器显示它已配置且所要使用的附加信息(如IP地址等),并且显示内置于本地网卡中的物理地址(MAC)。如果IP地址是从DHCP服务器租用的,IPConfig将显示DHCP服务器的IP地址和租用地址预计失效的日期。
    操作要求:请使用该命令参数,查看计算机IP配置情况的完整信息。
    (3)/release 和 /renew
    这是两个附加选项,只能在向DHCP服务器租用其IP地址的计算机上起作用。如果我们输入ipconfig /release,那么所有接口的租用IP地址便重新交付给DHCP服务器(归还IP地址)。如果我们输入ipconfig /renew,那么本地计算机便设法与DHCP服务器取得联系,并租用一个IP地址。请注意,大多数情况下网卡将被重新赋予和以前所赋予的相同的IP地址。
    操作要求:
    1)请先使用ipconfig /release这个命令将自己的计算机的IP释放,归还给DHCP服务器
    2)然后再使用ipconfig命令查看本机IP地址
    3)接着使用ipconfig /renew重新获取IP地址
    4)再使用ipconfig命令查看本机IP地址

    展开全文
  • Android开发中网络相关的检测包括网络是否正常连接和网络已连接但是否可以正常访问两类。 (1)其中最常用的就是网络连接是否正常的检测,具体的代码如下: ConnectivityManager connManager = ...

    Android开发中网络相关的检测包括网络是否正常连接和网络已连接但是否可以正常访问两类。

    (1)其中最常用的就是网络连接是否正常的检测,具体的代码如下:

     ConnectivityManager connManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
        // 获取代表联网状态的NetWorkInfo对象
        NetworkInfo networkInfo = connManager.getActiveNetworkInfo();
        if (networkInfo == null) {
          return false;
        }
        boolean available = networkInfo.isAvailable();
        if (available) {
          Logs.i(TAG, "当前的网络连接可用");
        } else {
          Logs.i(TAG, "当前的网络连接不可用");
        }
     return available ;

    (2)对于网络已连接,但是需要判断是否可以正常访问的问题,其实我们可以使用ping的方式进行检测,经过查阅网上的资料,发现好多使用 Process process=Runtime.getRuntime().exec("/system/bin/ping -c 4 "+"www.baidu.com") 进行检测的,经过测试发现会抛IOException异常,提示相关目录也就是/system/bin/ping 这个找不见,主要原因是系统没有root,所以无法访问系统目录。因此这种方式肯定不是我们想要的,那么我们该如何实现呢?其实不要慌,我们可以采用如下这种方式就可以实现我们想要的效果

              Process process=Runtime.getRuntime().exec("ping -c 1 -w 1 " + "www.baidu.com"); 

    具体的知识及实现可参考如下:

    Ping是Windows、Unix和Linux系统下的一个命令。ping也属于一个通信协议,是TCP/IP协议的一部分。利用“ping”命令可以检查网络是否连通,可以很好地帮助我们分析和判定网络故障

    Ping发送一个ICMP(Internet Control Messages Protocol)即因特网信报控制协议,回声请求消息给目的地并报告是否收到所希望的ICMP echo (ICMP回声应答),用来检查网络是否通畅或者网络连接速度的命令。广义来说即发送一个数据包,根据返回的数据包得到丢包率及平均时间得出网络的连接状态。

    ping命令可以用在android中检测网络ip或者socket的连接,命令格式:ping ip地址(最简)

    ping具有一些参数,可以具体定义包的个数、包的最大存活时间等

              -c 发送ICMP包的个数

              -i 每次发送数据包中间的间隔时间,单位秒

              -l <前置载入> 设置在送出要求信息之前,先行发出的数据包

              -s 设置数据包的大小

              -t 设置TTL(存活数值)的大小 / TTL : Time to Live该字段指定IP包被路由器丢弃之前允许通过的最大网段数量

              -w deadline 数据包存活最大时间

              -W timeout等待每个响应的最长时间,单位为秒

     

    android ping检测ip地址或socket地址可使用两种方式:

    一种是使用Runtime.getRuntime().exec()执行ping命令,根据方法返回值process是否连通判断连接状态

    process 的 waitFor() 方法源码中的解释:

     /**
         * Causes the calling thread to wait for the native process associated with
         * this object to finish executing.
         *
         * @return the exit value of the native process being waited on.
         * @throws InterruptedException
         *             if the calling thread is interrupted.
         */
        public abstract int waitFor() throws InterruptedException;

    必要的情况下,此方法会使当前线程一直处于阻塞状态直到此执行进程从结果上表现出终止。此方法会在子进程被终止的时候立即返回值。如果子进程没有被终止,则当前线程一直阻塞到子进程退出。

    return:一般来说 0 表示正常停止,即正常完成,未出现异常情况。1 表示网络已连接,但是无法访问,2 表示网络未连接。

    示例:

    
    Process p = Runtime.getRuntime().exec("ping -c 1 -w 1 " + ipString);
    // 读取ping的内容,可不加
    InputStream input = p.getInputStream();
    BufferedReader in = new BufferedReader(new InputStreamReader(input));
    StringBuffer stringBuffer = new StringBuffer();
    String content = "";
    while ((content = in.readLine()) != null) {
        stringBuffer.append(content);
    }
    // PING的状态
    int status = p.waitFor();
    if (status == 0) {
       sleep(3000);
    } else {
       isEnable = false;
       ExDispatcher.dispatchMessage(ExMessage.PING_CONNECT_BREAK);
       interrupt();
    }

     

    另一种使用ping命令中发包及包的丢失率判断通信的连接状态

    Process process = Runtime.getRuntime().exec("ping "+address);  
    InputStreamReader r = new InputStreamReader(process.getInputStream());  
    LineNumberReader returnData = new LineNumberReader(r);  
    String returnMsg="";  
    String line = "";  
    while ((line = returnData.readLine()) != null) {  
       System.out.println(line);  
       returnMsg += line;  
    }  
                  
    if(returnMsg.indexOf("100% loss")!=-1){  
       System.out.println("与 " +address +" 连接不畅通.");  
    }  else{  
       System.out.println("与 " +address +" 连接畅通.");  
    } 

    正常的ping检测结果一般为:

    ====receive====:PING 192.168.43.159 (192.168.43.159) 56(84) bytes of data.

    ====receive====:64 bytes from 192.168.43.159: icmp_seq=1 ttl=64 time=73.8 ms

    ====receive====:64 bytes from 192.168.43.159: icmp_seq=2 ttl=64 time=91.4 ms

    ====receive====:64 bytes from 192.168.43.159: icmp_seq=3 ttl=64 time=1.18 ms

    ====receive====:64 bytes from 192.168.43.159: icmp_seq=4 ttl=64 time=139 ms

    ====receive====:--- 192.168.43.159 ping statistics ---

    ====receive====:4 packets transmitted, 4 received, 0% packet loss, time 3004ms

    丢包率为100%时则网络为断开状态,上述结果显示发送为4个数据包,丢包率为0,连接正常

     

    参考链接:https://blog.csdn.net/u011069604/article/details/73135531

     

    展开全文
  • golang的ping检测网络实现

    千次阅读 2020-10-28 15:10:53
    golang ping 服务器,可以用系统调用也可以用go内置的库。 系统调用 func NetWorkStatus() bool { cmd := exec.Command("ping", "www.google.com", "-c", "4", "-W", "5") fmt.Println("NetWorkStatus Start:",...

    golang ping 服务器,可以用系统调用也可以用go内置的库。

    系统调用

    func NetWorkStatus() bool {
    	cmd := exec.Command("ping", "www.google.com", "-c", "4", "-W", "5")
    	fmt.Println("NetWorkStatus Start:", time.Now().Unix())
    	err := cmd.Run()
    	fmt.Println("NetWorkStatus End  :", time.Now().Unix())
    	if err != nil {
    		fmt.Println(err.Error())
    		return false
    	} else {
    		fmt.Println("Net Status , OK")
    	}
    	return true
    }
    

    使用 ICMP Ping

    借用第三方的库 https://github.com/tatsushid/go-fastping 48

    go-fastping 例子:

    p := fastping.NewPinger()
    ra, err := net.ResolveIPAddr("ip4:icmp", os.Args[1])
    if err != nil {
    	fmt.Println(err)
    	os.Exit(1)
    }
    p.AddIPAddr(ra)
    p.OnRecv = func(addr *net.IPAddr, rtt time.Duration) {
    	fmt.Printf("IP Addr: %s receive, RTT: %v\n", addr.String(), rtt)
    }
    p.OnIdle = func() {
    	fmt.Println("finish")
    }
    err = p.Run()
    if err != nil {
    	fmt.Println(err)
    }
    

    还有一个库使用也很方便 go-ping https://github.com/sparrc/go-ping 71

    go-ping 使用例子:

    pinger, err := ping.NewPinger("www.google.com")
    if err != nil {
            panic(err)
    }
    pinger.Count = 3
    pinger.Run() // blocks until finished
    stats := pinger.Statistics() // get send/receive/rtt stats
    

    不过上面两个例子都用到 ICMP,这需要以管理员身份运行。

    如果只是想检查服务器的某个端口是否能连上,可以用下面的方式,速度更快

    func CheckServer(){
    	timeout := time.Duration(5 * time.Second)
    	t1 := time.Now()
    	_, err := net.DialTimeout("tcp","www.google.com:443", timeout)
    	fmt.Println("waist time :", time.Now().Sub(t1))
    	if err != nil {
    		fmt.Println("Site unreachable, error: ", err)
    		return
    	}
    	fmt.Println("tcp server is ok")
    }
    

    用http.Client 速度稍慢

    func CheckServerHttp()  {
    	timeout := time.Duration(5 * time.Second)
    	client := http.Client{
    		Timeout: timeout,
    	}
    	t1 := time.Now()
    	resp, err := client.Get("https://www.google.com")
    	fmt.Println("waist time :", time.Now().Sub(t1))
    	if err != nil {
    		fmt.Println("client.Get, error: ", err)
    		return
    	}
    	defer resp.Body.Close()
    	fmt.Println(resp.Status)
    }
    展开全文
  • 利用ping原理,通过编写python脚本,来检测局域网内某个主机是否在线或检测局域网网段内在线的主机 实验环境 ubuntu虚拟机 pycharm 准备工作 了解ping原理 PING(Packet Internet Groper),因特网包搜索器,用于...
  • ] 返回值为0表示ping失败,返回值为1表示可以ping通 target:被监控主机名或ip地址 packets:数据包的数量 interval:两个连续数据包发送的时间间隔,以毫秒为单位 size:包的大小,以字节为单位 timeout:超时时间,以毫秒...
  • 用于网络测试的ping批处理,可以设置开机自动运行(最小化窗口),每十分钟检测一次,不通时有报警声音提示,是网管的好帮好,可修改成网络断电的情况下,服务器自动关机,将更安全的保存你的数据。
  • shell脚本如下,执行脚本后,会将ping检测结果输出到一个ping_monitor.log日志文件中,脚本接收一个参数,即要检测的ip地址 #!/bin/sh MONITOR_LOG=/home/gavin2/scripts/log/ping_monitor.log ping_monitor() { ...
  • Home Assistant设备追踪之ping检测和nmap检测 目录Home Assistant设备追踪之ping检测和nmap检测1、Home Assistant设备追踪之ping检测2、Home Assistant设备追踪之nmap检测 设备追踪是Home Assistant里面比较重要的一...
  • python检测服务器是否ping通的2种方法 1、第一种比较挫,就是用ping,python调用shell,这个适用于较少的服务器数量,几百台已经很慢了(当然是说python同步的方法,要是nodejs异步方式还是很快的,但是nodejs CPU...
  • SmartPing为一个各机器(点)间间互PING检测工具,支持互PING,单向PING,绘制拓扑及报警功能
  • 批量ping检测主机状态

    2019-06-02 19:41:44
    [root@zeng ~]# cat ping.sh #!/bin/bash cat ip.txt |while read line; do ip=echo $line |awk '{print $1}' ping -c 3 -w 2 $ip &> /dev/null if [ $? -eq 0 ];then echo $ip live else...
  • (1) Smokeping是一款用于网络性能监测的开源监控软件,主要用于对IDC的网络状况,网络质量,稳定性等做检测,通过rrdtool制图方式,图形化地展示网络的时延情况,进而能够清楚的判断出网络的即时通信情况。...
  • ping检测工具

    2014-09-21 09:24:36
    在网络问题分析时,经常遇到某时间点ping某个ip地址的结果,而且有时需要ping的地址又比较多,也下载了一些ping软件,但是软件ping的结果又不太准确,因此自己做了一个ping加上时间戳的小工具,便于网络问题的查找,...
  • Android中ping检测的使用

    万次阅读 2017-06-12 19:36:55
    Ping是Windows、Unix和Linux系统下的一个命令。ping也属于一个通信协议,是TCP/IP协议的一部分。利用“ping”命令可以检查网络是否连通,可以很好地帮助我们分析和判定网络故障 Ping发送一个ICMP(Internet Control ...
  •  运行格式 例如:ping_ip.sh 192.168.0.2-254 #运行我们的脚本,将存活主机ip存到文件chip.txt里  查看存活主机结果:cat chip.txt #在和脚本同目录下查看,你知道绝对路径也可以绝对路径查看     ...
  • 一个网络PING检测丢包工具,主要用来测试网络丢包率,ping值以及丢包多少,可以测试您的内网或外网的丢包情况,测试网络环境
  • 脚本自动ping检测网络情况

    万次阅读 2017-11-10 15:43:56
    在一个实际的集群中,可能有几十上百台服务器,每次自己检测集群健康状态时,一台服务器一台服务器检测,一个字母一个字母敲,我都累成狗 。鉴于此,写了一个小脚本,自动跑ping,减轻工作量,呀吼吼,爽歪歪。  ...
  • linux shell ping检测脚本

    千次阅读 2015-12-29 21:54:38
    通过此脚本可以批量检测所有服务器或者交换设备是否连通 转载于:https://blog.51cto.com/lb0220/1729758
  • 原创的批处理小工具,用于ping指定的服务器,不通则继续pingping到通会弹出对话框提示已经通了。(也可以自行修改,让其播放MP3等等操作)。
  • ping检测头文件

    2015-08-11 10:24:20
    ping检测的头文件,ping检测程序的接口文件,定义了实现ping检测的函数。

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 97,432
精华内容 38,972
关键字:

ping检测