精华内容
下载资源
问答
  • 网络通断测试.bat

    2019-05-16 20:05:24
    在电脑上运行以后,当网络时会发出嘟嘟声音,不通则默认不出声。用批处理写的
  • 网络测试通断

    2019-02-14 16:12:45
    自已编写的网络是否,通则有声音提示,不通则没声音提示。也可以改动批处理里面的网址PING局域网
  • OSPFv3网络环境下的路由器通及链路通断检测技术.pdf
  • 思路:通过http判断网络通断,通过ping获取网络的状态 注意:不同平台下,调用的系统命令返回格式可能不同,跨平台使用的时候,注意调整字符串截取的值 主程序:network_testing_v0.3.py #!/usr/bin/env ...

    思路:通过http判断网络通断,通过ping获取网络的状态

    注意:不同平台下,调用的系统命令返回格式可能不同,跨平台使用的时候,注意调整字符串截取的值

    主程序:network_testing_v0.3.py

    #!/usr/bin/env python
    # -*- coding: utf-8 -*-
    # @Time    : 2019-04-19 09:50
    # @Author  : yuyongxr
    # @Site    : 
    # @File    : network_testing_v0.1.py
    # @Software: PyCharm
    #
    
    from icmp_test import *
    from http_test import *
    from config import *
    import threading
    import time
    import json
    
    http_status = True
    
    
    def start_check_http(url,title):
        global http_status
        while True:
            if check_http(url,title):
                http_status = True
                # print("http_status :", http_status)
            else:
                http_status = False
                print("http_status :", http_status)
                file = open("http_logs.txt", "a")
                file.write(time.asctime(time.localtime(time.time()))+ " : http status is " +str(http_status) + "\n")
            time.sleep(1)
    
    
    def check_continuous():
        url,title,ip_address,times,domain,dnsserver = analyze_config()
        t_http = threading.Thread(target=start_check_http,args=(url,title))
        t_http.start()
    
    
    def icmp_continuous():
    
        global http_status
        global avg_list
        global lost_list
    
        avg_list = []
        lost_list = []
        url,title,ip_address,times,domain,dnsserver = analyze_config()
    
        while True:
            if  http_status:
                min, avg, max, lost = "","","",""
                try:
                    min, avg, max, lost = shend_icmp_packet(ip_address, times)
    
                    avg_flag = 0
                    avg_list.append(float(avg))
    
                    for a in avg_list:
                        avg_flag = avg_flag + a
                    avg_flag = avg_flag/len(avg_list)
    
                    lost_flag = 0
                    lost_list.append(float(lost))
                    for a in lost_list:
                        lost_flag = lost_flag + a
                    lost_flag = lost_flag / len(lost_list)
    
                    file = open("result.json")
                    content = file.read()
                    file.close()
                    content = json.loads(content)
                    content["ping"]["min"] =float(content["ping"]["min"]) if float(content["ping"]["min"]) <= float(min) else min
                    content["ping"]["avg"] = avg_flag
                    content["ping"]["max"] = float(content["ping"]["max"]) if float(content["ping"]["max"]) >= float(max) else max
                    content["ping"]["lost"] = lost_flag
                    content = json.dumps(content)
    
                    file = open("result.json","w")
                    file.write(content)
                    file.close()
    
                    print(min, avg, max, lost)
                except:
                    pass
            else:
                time.sleep(1)
                continue
            time.sleep(5)
    
    def main():
        c_check = threading.Thread(target=check_continuous)
        i_icmp = threading.Thread(target=icmp_continuous)
    
        c_check.start()
        i_icmp.start()
    
    if __name__ == '__main__':
        main()
    主程序

    获取网络状态:icmp_test.py

    #!/usr/bin/env python
    # -*- coding: utf-8 -*-
    # @Time    : 2019-04-19 18:08
    # @Author  : yuyongxr
    # @Site    : 
    # @File    : icmp_test.py
    # @Software: PyCharm
    import os
    
    def shend_icmp_packet(ip_address,times):
        try:
            response = os.popen('ping -c ' + times + ' '+ ip_address).read()
            # 取出丢包率
            lost = response[response.index("%")-4:response.index("%")]
            #取出指定的延时字符串
            res = list(response)
            index = 0
            count = 0
            for r in res:
                count += 1
                if r == "=" :
                    index = count
            response = response[index + 1:-4]
    
            # 取出执行的延迟
            i = 0
            j = []
            res1 = list(response)
            for r in res1:
                i += 1
                if r == "/" :
                    j.append(i)
    
            min = response[:j[0]-1]
            avg = response[j[0]:j[1]-1]
            max = response[j[1]:j[2]-1]
            return min,avg,max,lost
        except :
            print("ping exec error")
            file = open("icmp_logs.txt","a")
            file.write(time.asctime(time.localtime(time.time())) +" ping exec error \n")
    获取网络状态

    判断网络通断:http_test.py

    #!/usr/bin/env python
    # -*- coding: utf-8 -*-
    # @Time    : 2019-04-19 18:09
    # @Author  : yuyongxr
    # @Site    : 
    # @File    : http_test.py
    # @Software: PyCharm
    
    import requests,bs4,time
    from requests.exceptions import ReadTimeout,ConnectTimeout,HTTPError,ConnectionError
    
    
    def send_http_packet(url):
        requests.packages.urllib3.disable_warnings()
        user_agent = "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36"
        headers = {'User-Agent': user_agent}
        url = "http://" + url
        response_html= ""
        file = open("http_logs.txt","a")
        try:
            response = requests.get(url, headers)
            response_html = response.content.decode()
            return response_html
        except ReadTimeout:
            print('Read Timeout')
            file.write(time.asctime(time.localtime(time.time())) + " Read Timeout \n")
            file.close()
            return False
        except ConnectTimeout:
            print('Connect Timeout')
            file.write(time.asctime(time.localtime(time.time())) + " Connect Timeout \n")
            file.close()
            return False
        except HTTPError:
            print('HTTP Error')
            file.write(time.asctime(time.localtime(time.time())) + " HTTP Error \n")
            file.close()
            return False
        except ConnectionError:
            print('Connection Error')
            file.write(time.asctime(time.localtime(time.time())) + " Connection Error \n")
            file.close()
            return False
    
    def check_http(url,title):
        html = send_http_packet(url)
        file = open("http_logs.txt","a")
        if html != False  and title != False :
            soup = bs4.BeautifulSoup(html, 'lxml')
            html_title = ""
            html_title = soup.title.text
            if title in html_title:
                return True
            else:
                return False
        else:
            print('html or title is None')
            file.write(time.asctime(time.localtime(time.time())) + " html or title is None \n")
            file.close()
            return False
    判断网络通断

    配置文件:config.json

    {
        "dns":{"domain":"www.baidu.com","dnsserver":"114.114.114.114"},
        "icmp":{"ip_address":"www.baidu.com","times":"5"},
        "http":{"url":"www.baidu.com","title":"百度"}
    }
    配置文件

    解析配置文件:config.py

    #!/usr/bin/env python
    # -*- coding: utf-8 -*-
    # @Time    : 2019-04-19 18:28
    # @Author  : yuyongxr
    # @Site    : 
    # @File    : config.py
    # @Software: PyCharm
    
    import json
    
    def read_config():
        file = open("config.json")
        content = file.read()
        file.close()
        return content
    
    def analyze_config():
        config = read_config()
        config = json.loads(config)
    
        url = config["http"]["url"]
        title = config["http"]["title"]
    
        ip_address = config["icmp"]["ip_address"]
        times = config["icmp"]["times"]
    
        domain = config["dns"]["domain"]
        dnsserver = config["dns"]["dnsserver"]
    
        return url,title,ip_address,times,domain,dnsserver
    解析配置文件

    结果存储文件:result.json

    {"ping": {"min": 46.828, "avg": 137.0165, "max": 150.587, "lost": 0.7446808510638298}}
    结果存放

     

    转载于:https://www.cnblogs.com/yyxianren/p/10750246.html

    展开全文
  • 网络游戏-IPV6网络环境中OSPFv3协议下的链路通断检测方法及系统.zip
  • 自动检测多个IP地址,自动检测每个ip记录断线时间,有日志文件
  • 主要介绍了C++ 网络连通性检测的实现方法的相关资料,这里提供实例帮助大家实现这样的功能,需要的朋友可以参考下
  • 在vba中可以使用ping ip地址的功能. 直接调用PingIP(ip地址)即可,返回值true为能ping,false为ping不通。 例如PingIP(“192.168.100.75”)如果能ping返回为true,不能ping返回为false。
  • 在vba中可以使用ping ip地址的功能。 直接调用PingIP(ip地址)即可,返回值true为能ping,false为ping不通。...例如PingIP(“192.168.100.75”)如果能ping返回为true,不能ping返回为false。
  • 快速检测网络通断

    2013-03-27 17:36:00
    View Code System.Net.NetworkInformation.Ping pingSender = new System.Net.NetworkInformation.Ping(); PingOptions options = new PingOptions(); options.DontFragment = t...
    View Code
    System.Net.NetworkInformation.Ping pingSender = new System.Net.NetworkInformation.Ping();
                PingOptions options = new PingOptions();
                options.DontFragment = true;
                string data = "";
                byte[] buffer = Encoding.UTF8.GetBytes(data);
                int timeout = 120;
                PingReply reply = pingSender.Send("192.168.2.202", timeout, buffer, options);
                if (reply.Status == IPStatus.Success)
                {
                }

     

    转载于:https://www.cnblogs.com/S-TGM/archive/2013/03/27/2985080.html

    展开全文
  • 网络检测小程序

    2017-08-07 14:19:28
    http://www.jianshu.com/p/9e21b3866ec2
  • 检测网络连通工具 (1)

    2016-08-23 18:44:53
    检测网络连通工具 (1)
  • 用该python脚本可以批量检测一批机器与当前机器的网络连通状况
  • 下面小编就为大家分享一篇python 判断网络连通的实现方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
  • 检测网络是否连通最可靠的方法,本类使用非常方便,调用示例: Dim p As New Ping p.TimeOut = 5000 '超时,有默认值,可以省略 p.HostIP = "202.108.22.5" '要ping的IP地址,有默认值,可以省略 Dim r As Boolean = p.Is...
  • slect send函数判断网络已经了。SEND函数的成功返回只能表示发送数据已经进入了SOCKET内核的发送队列,但是不一定就已经在线上或者已经被成功接收了。由于TCP/ip协议本身并不提供对网络物理链路突然断开的实时通知...

    slect send函数判断网络已经断了。
    SEND函数的成功返回只能表示发送数据已经进入了SOCKET内核的发送队列,但是不一定就已经在线上或者已经被成功接收了。由于TCP/ip协议本身并不提供对网络物理链路突然断开的实时通知机制,即使用了SETSOCKOPT的KEEPALIVE选项也只能在断开发生两小时15分10秒以后SOCKET层才能得到一个错误通知。
    在使用TCP/IP通信时,要能立刻得到网络连接突然中断的方法有两种:

    1。使用一个单独的线程或者进程定时发送特定数据给对方,如果对方在给定的时间没有回应数据,就表明通信链路产生了问题,也

    就是所谓的心跳检测。

    2。修改注册表参数,将KEEPALIVE的默认时间间隔变短,在WIN2000里面有专门修改TCP注册表参数的函数。

     

    转载于:https://www.cnblogs.com/deepwishly/archive/2010/09/06/2551202.html

    展开全文
  • C++ 网络连通性检测

    千次阅读 2015-12-02 23:21:35
    有时程序需要保持和某个指定网络的连通,有人的情况下我们直接用ping命令查看即可,然而程序自身检测会稍微麻烦一点。  实现思路如下:  用程序打开控制台->运行ping命令,并指定控制台返回值写入到文件中->分析...
        有时程序需要保持和某个指定网络的连通,有人的情况下我们直接用ping命令查看即可,然而程序自身检测会稍微麻烦一点。
        实现思路如下:
        用程序打开控制台->运行ping命令,并指定控制台返回值写入到文件中->分析文件,得到ping命令返回状态->得到网络连通情况

        代码如下:

    #include <windows.h>
    #include <stdio.h>
    #include <string>
    using namespace std;
    
    bool AnalysisFile() 
    {
    	bool rState;//返回状态
    	FILE *file;
    	char ln[80];
    	fopen_s(&file, "returnpingdata.txt", "r");
    
    	fgets(ln, 80, file);//读入空行,舍弃
    	fgets(ln, 80, file);//读入ping信息,舍弃
    	fgets(ln, 80, file);//读入ping对象返回值,用来分析
    	
    	string data = ln;
    	int iPos = data.find("=");
    	data = data.substr(iPos+1,3);//截取字符串返回字节数
    	int  n = atoi(data.c_str());
    	rState = n > 0;
    	fclose(file);
    	return rState;
    }
    void main() 
    {
    	// -n 1指定发送1位数据,-w 
    	// 1000指定超过1000ms为超时
    	// >returnpingdata.txt指定命令行返回值输出到returnpingdata.txt文件中
    	char *cmdstr= "cmd /c ping www.baidu.com -n 1 -w 1000 >returnpingdata.txt";
    	WinExec(cmdstr, SW_HIDE);
    	Sleep(1000);//等待1000ms
    	bool returndata = AnalysisFile();//分析命令行返回文件,得到网络连接情况
    	if (returndata==true)
    	{
    		printf("网络连接成功\n");
    	}
    	else
    	{
    		printf("网络连接失败\n");
    	}
    	getchar();
    }
    


    展开全文
  • 网络连通检测工具

    2020-10-31 13:55:46
    ** (1) Ping ** **Ping就是一个测试程序,是个使用频率极高的实用程序,用于确定本地主机是否能与另一台...通过Ping检测网络故障的典型次序。正常情况下,当你使用Ping命令来查找问题所在或检验网络运行情况时,你需要
  • 实现网络连通检测的五种方法

    千次阅读 2019-09-29 08:06:30
    方法一: windows下调用icmp.dll库,实现ping连通...// windows下调用icmp.dll库实现网络连通检测示例代码 #include <Winsock2.h> #include <iphlpapi.h> #include <stdio.h> #pragma comm...
  • Linux C 怎么检测网络状态

    千次阅读 2017-11-27 10:14:47
    Linux C 怎么检测网络状态 #include #include #include ping_check (char *gateway_str) { printf("ping_check ::gateway_str -- %s\n",gateway_str); FILE *fp; size_t len = 0; char *pos; int r
  • delphi 通过Ping命令检测网络是否正常

    热门讨论 2011-02-18 12:03:02
    可以通过Ping远程服务器的Ip,或Url来检测网络是否正常,起到快速检测网络效果。
  • Aigtek是一家专业的线束测试仪制造厂家,...可满足从单根线缆测试到复杂的线缆、线束网络测试几乎所有的测试需求。 线束测试仪主要用于线缆线束的设计、生产以及检验测试。测试主要针对复杂线缆线束的导、绝缘、耐...
  • 因为Sham用树莓派直接通过拨号连接网络,但是不知道什么原因,有的时候会自己断网而且不会重新自己连接,所以Sham从网上找了1个脚本,通过定时执行来检测时候联网,如果没有,则重启网络服务。 因为Sham不懂shell,...
  • Qt中检测网络是否正常

    千次阅读 2019-12-03 15:32:22
    开启一个线程,用于检测网络。假如在主线程中使用,其他功能会全部卡死,直到ping完成之后。 下面为我测试时候写的测试测序。下面没有定义的变量,全部为该类的私有对象,可自己定义。 QProcess cmd; //类似于window...
  • C#代码实现检测是否能ping某台服务器背景代码实现测试代码运行结果 背景 在很多业务场景下都需要根据网络状态执行不同的操作,而最常用和效率比较高的办法就是使用ping,那么在C#代码中如何实现这块逻辑呢? 代码...
  • 在Qt中使用QProcess类实现检测当前网络是否能ping某段IP地址这里提供一个函数接口QtPing();/* * Brief 检测当前网络是否能ping某段IP地址 * Param ip (QString) IP地址(类型:QString) * Return bool 是否能...
  • 使用学习过的知识完成网络的 ping #!/bin/bash cd /root/Desktop/test_txt if [ ! -d "ping" ];then mkdir ping else echo "文件夹已经存在" fi cd ping touch ping_exist.txt touch ping_nonentity.txt for I in ...
  • 可以检测网络断线时间,发生报警,软件小巧玲珑,单文件。
  • shell初始化安装脚本执行时,需从网络上安装一些rpm包,所有需要先检测网络的畅通性, 代码 #检测网络链接&&ftp上传数据 function networkAndFtp() { #超时时间 timeout=5 #目标...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 9,940
精华内容 3,976
关键字:

网络通断检测