0 0

编写一个路由的监听程序5

电脑网络配置:
双网卡:
C:\Users\Administrator>ipconfig

Windows IP 配置


以太网适配器 外网:

   连接特定的 DNS 后缀 . . . . . . . :
   本地链接 IPv6 地址. . . . . . . . : fe80::3d93:6c7b:53d1:767c%13
   IPv4 地址 . . . . . . . . . . . . : 10.10.6.121
   子网掩码  . . . . . . . . . . . . : 255.255.255.0
   默认网关. . . . . . . . . . . . . : 10.10.6.1

以太网适配器 内网:

   连接特定的 DNS 后缀 . . . . . . . :
   本地链接 IPv6 地址. . . . . . . . : fe80::ac8c:d6ba:9319:7c08%11
   IPv4 地址 . . . . . . . . . . . . : 192.168.1.103
   子网掩码  . . . . . . . . . . . . : 255.255.255.0
   默认网关. . . . . . . . . . . . . :  192.168.1.1


现在已经有的双网卡同时访问内网和外网的解决方案:
route delete 0.0.0.0
route add 0.0.0.0 mask 0.0.0.0 10.10.6.1
route add 10.0.0.0 mask 255.0.0.0 192.168.1.1

执行以上三个命令后正常的路由信息如下:
IPv4 路由表
===========================================================================
活动路由:
网络目标        网络掩码          网关       接口   跃点数
          0.0.0.0          0.0.0.0        10.10.6.1      10.10.6.121     21
         10.0.0.0        255.0.0.0      192.168.1.1    192.168.1.103     21
        10.10.6.0    255.255.255.0            在链路上       10.10.6.121    276
      10.10.6.121  255.255.255.255            在链路上       10.10.6.121    276
      10.10.6.255  255.255.255.255            在链路上       10.10.6.121    276
        127.0.0.0        255.0.0.0            在链路上         127.0.0.1    306
        127.0.0.1  255.255.255.255            在链路上         127.0.0.1    306
  127.255.255.255  255.255.255.255            在链路上         127.0.0.1    306
      192.168.1.0    255.255.255.0            在链路上     192.168.1.103    276
    192.168.1.103  255.255.255.255            在链路上     192.168.1.103    276
    192.168.1.255  255.255.255.255            在链路上     192.168.1.103    276
        224.0.0.0        240.0.0.0            在链路上         127.0.0.1    306
        224.0.0.0        240.0.0.0            在链路上     192.168.1.103    276
        224.0.0.0        240.0.0.0            在链路上       10.10.6.121    276
  255.255.255.255  255.255.255.255            在链路上         127.0.0.1    306
  255.255.255.255  255.255.255.255            在链路上     192.168.1.103    276
  255.255.255.255  255.255.255.255            在链路上       10.10.6.121    276
===========================================================================


但有时候过十多分钟不进行操作,系统经常会多出一条0.0.0.0路由,不正常的路由信息如下一步:
IPv4 路由表
===========================================================================
活动路由:
网络目标        网络掩码          网关       接口   跃点数
          0.0.0.0          0.0.0.0        10.10.6.1      10.10.6.121     21
          0.0.0.0          0.0.0.0      192.168.1.1    192.168.1.103     20
         10.0.0.0        255.0.0.0      192.168.1.1    192.168.1.103     21
        10.10.6.0    255.255.255.0            在链路上       10.10.6.121    276
      10.10.6.121  255.255.255.255            在链路上       10.10.6.121    276
      10.10.6.255  255.255.255.255            在链路上       10.10.6.121    276
        127.0.0.0        255.0.0.0            在链路上         127.0.0.1    306
        127.0.0.1  255.255.255.255            在链路上         127.0.0.1    306
  127.255.255.255  255.255.255.255            在链路上         127.0.0.1    306
      192.168.1.0    255.255.255.0            在链路上     192.168.1.103    276
    192.168.1.103  255.255.255.255            在链路上     192.168.1.103    276
    192.168.1.255  255.255.255.255            在链路上     192.168.1.103    276
        224.0.0.0        240.0.0.0            在链路上         127.0.0.1    306
        224.0.0.0        240.0.0.0            在链路上     192.168.1.103    276
        224.0.0.0        240.0.0.0            在链路上       10.10.6.121    276
  255.255.255.255  255.255.255.255            在链路上         127.0.0.1    306
  255.255.255.255  255.255.255.255            在链路上     192.168.1.103    276
  255.255.255.255  255.255.255.255            在链路上       10.10.6.121    276
===========================================================================


问题:
每当系统多出一个0.0.0.0路由之后不能上网.需要再手工执行命令:
route delete 0.0.0.0
route add 0.0.0.0 mask 0.0.0.0 10.10.6.1


目标:
双网卡同时访问内网和外网,并在系统有两个0.0.0.0的路由时自动将其删除,然后再添加一个需要的0.0.0.0跟路由.

现在我想用批处理文件route_listener.bat实现这个监听功能,代码如下:
rem 程序说明
@echo off
cls
Title [窗口标题]
::begin-----------------------------------

::初始化变量
set filename=route.txt
set file=%userprofile%\%filename%

:begin


route print 0.0.0.0*>route.txt

   echo 延时前!
   ping /n 5 127.0.0.1 >nul
   echo 延时后!
   
   for /f "tokens=1* delims=:" %%b in ('findstr /n .* %file%') do (
        if "%%b"=="16" (
            set ifo=%%c 
            ::我的操作系统是windows7 ,下面的意思是判断route.txt中第16行第11到17个字符是否=='0.0.0.0',如果是就表明当前有两个0.0.0.0路

由,则执行下面的两个route命令
            set flag="%ifo:~10,7%"
            if "%flag%"=="0.0.0.0" (
                route delete 0.0.0.0
                route add 0.0.0.0 mask 0.0.0.0 10.10.6.1
            ) 
        )
   )

goto :begin


程序有错误,不知怎么更改方可完善.请各位不吝赐教!!!

2010年5月21日 16:18
目前还没有答案

相关推荐

    nc命令 设置路由

    nc命令是一个功能打包的网络实用程序,它通过命令行在网络上读取和写入数据;nc是为NMAP项目编写的,是目前已分裂的netcat家族的顶峰,它被设计成一个可靠的后端工具,可以立即为其他用户提供网络连接应用程序和用户。...

    基于Java的视频会议系统(软件程序+WORD论文文档).zip

    服务器一般作为守护进程始终运行,监听网络端口,一旦有客户请求,就会启动一个服务进程来响应该客户,同时自己继续监听服务端口,使后来的客户也能及时得到服务。 数据在Internet中是以有限大小的包形式传输的,...

    物联网嵌入式ESP32开发例程04-WiFi-智能家居类产品Smartconfig一键配网C程序代码(VS+ESPIDF编程)

    * 设备进入初始化状态,开启混监听所有网络数据包,此时LCD显示"In the distribution network......",表示设备已进入混监听模式。 * 手机连上自己的WiFi,开启APP(EspTouch软件)软件,输入手机所在WiFi密码,请求...

    create-mithril-app

    创建秘银应用 这个 repo 提供了一种快速的方法来开始编写...一个带有路由的 Mithril 设置,一个应用程序布局组件和一个主页组件来开始 希望这个 repo 可以降低新开发人员开始使用 Mithril 的障碍。 JSX 事件监听器 虽然

    哨兵小程序/小游戏SDK:用于小程序/小游戏平台的哨兵SDK(目前支持微信,字节跳动,支付宝,钉钉,QQ,百度小程序,微信,QQ小游戏)- lizhiyao / sentry-miniapp

    Sentry 小程序 SDK用于小程序平台的 Sentry SDK功能特点 基于 封装 遵守,使用方式和官方保持一致 使用 进行编写 包含 Sentry SDK(如:)的所有基础功能 支持 ES6、CommonJS 两种模块系统(支持小程序原生开发方式...

    入门学习Linux常用必会60个命令实例详解doc/txt

    虚拟控制台最有用的是,当一个程序出错造成系统死锁时,可以切换到其它虚拟控制台工作,关闭这个程序。 shutdown 1.作用 shutdown命令的作用是关闭计算机,它的使用权限是超级用户。 2.格式 shutdown [-h][-i...

    java网络编程技术课程设计.doc

    服务器一般 作为守护进程始终运行,监听网络端口,一旦有客户请求,就会启动一个服务进程来响 应该客户,同时自己继续监听服务端口,使后来的客户也能及时得到服务。 IP地址:标识计算机等网络设备的网络地址,由四...

    网络安全重要性.doc

    据统计,开发人软在编写程序时,每写一千行代码,至少会有一个漏洞出现。再高明的 程序员也不例外,因此黑客技术的出现和发展也是不足为奇的事情。黑客主要利用计算 机系统或网络的漏洞,包括软件漏洞、硬件漏洞、...

    wpe pro英文原版 M2M sniff 修改封包工具

    在需要用到字或双字时,计算机用连续的两个字节来组成一个字,连续的两个字组成一个双字。而一个字或双字的地址就是它们的低位字节的地址。 现在我们常用的Windows 9x操作系统中,地址是用一个32位的二进制数表示...

    gin-swagger-demo:杜松子酒摇摆演示

    Gin swagger demo 本项目为 gin swagger 结合使用的 demo,在此案例中,添加了相关的使用案例;... 编写若干个相关示例 如何运行 进入到项目目录 github.com/happyphper/gin-swagger-demo,执行: air

    cas_validate:CAS客户端,提供单点登录,侦听单点退出,以与node.js和Connect一起使用

    CAS验证这是一个实用工具,可帮助您通过CAS服务器( )验证基于Connect或Express(可能还有其他框架,甚至根本没有)的Web服务。它允许单点登录和。换句话说,如果客户端已到CAS服务器以前记录的,该库将允许您服务...

    大型分布式网站架构与实践

     如何进行Java应用故障的在线排查,包括一系列排查工具的使用,以及一些实际案例的介绍等。  4.1 在线日志分析 220  4.1.1 日志分析常用命令 220  4.1.2 日志分析脚本 230  4.2 集群监控 239  4.2.1 监控指标 ...

    Linux高性能服务器编程

    本书另外免费赠送一个负载均衡服务器程序的完整实际项目的源代码!作者简介游 双,资深Linux软件开发工程师,对Linux网络编程,尤其是服务器端的编程,有非常深入的研究,实战经验也十分丰富。曾就职于摩托罗拉,...

    Spring攻略(第二版 中文高清版).part2

    14.1 用Spring Portlet MVC开发一个简单的Portlet 544 14.1.1 问题 544 14.1.2 解决方案 545 14.1.3 工作原理 546 14.2 将Portlet请求映射到处理程序 553 14.2.1 问题 553 14.2.2 解决方案 553 14.2.3...

    Spring攻略(第二版 中文高清版).part1

    14.1 用Spring Portlet MVC开发一个简单的Portlet 544 14.1.1 问题 544 14.1.2 解决方案 545 14.1.3 工作原理 546 14.2 将Portlet请求映射到处理程序 553 14.2.1 问题 553 14.2.2 解决方案 553 14.2.3...

    linux网路编程 中文 23M 版

    2.3.1 一个多文件的工程例子............................. ............. 34 2 . 3 . 2多文件工程的编译.............................................. 36 2.3.3 Makefile 的规则..................................

Global site tag (gtag.js) - Google Analytics