-
编写一个路由的监听程序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
目前还没有答案
相关推荐
标题中的“利用C++编写的一个模仿tracert路由跟踪的程序”表明这是一个使用C++编程语言实现的应用,其功能是对网络路由进行跟踪,类似于操作系统自带的`tracert`命令。`tracert`(也称为`traceroute`)是一个用于...
在本例中,我们关注的是一个使用C#编程语言开发的TCP监听程序,名为TCPSniffer.exe。这个程序允许用户查看TCP/IP协议层的详细信息,包括报头信息,并且能够自定义监听的服务器和端口,以便于网络调试、性能分析或...
标题中的“IP包监听程序(For 9x)”指的是一个专为Windows 9x操作系统设计的网络监控工具,主要用于捕获、分析和记录通过网络传输的IP数据包。这种程序通常被称为网络嗅探器或网络分析器,它可以帮助IT专业人员理解和...
本项目“简单路由程序”旨在提供一个基础的路由解决方案,能够处理基本的路由表管理、ARP缓存更新以及数据包转发等功能。以下是关于这个项目的一些详细知识点: 1. **路由原理**: 路由是指在网络层,路由器根据IP...
【标题】"用VC++编写的聊天程序"揭示了这个项目是使用Microsoft的Visual C++(简称VC++)编程环境开发的一个实时通信应用。VC++是C++编程语言的一个集成开发环境,它提供了丰富的功能,包括图形用户界面设计、调试...
实验的核心是创建一个基于原始套接字的程序,发送ICMP回显请求(ping请求)到目标主机。程序首先设置TTL为1,这样数据包只能到达第一个路由器。然后,每次收到ICMP超时错误报文,就将TTL加1并重新发送,直到收到目标...
学习型交换机通过监听流经其端口的数据包,记录源MAC地址与端口的对应关系,形成一个动态的MAC地址表。当收到一个未知目标MAC地址的数据包时,它会将其广播到所有端口,除了数据包进入的那个端口,以确保数据包能够...
这里的 `logger` 函数就是一个简单的日志中间件,它会在每个请求到达时记录一条日志,然后调用 `next()` 方法将控制权传递给下一个中间件或路由处理器。 #### 六、路由组 在大型应用中,可能有多个路由都共享相同...
这个文件很可能是包含了一个或多个JavaScript文件,每个文件代表一个独立的路由模块。在这些模块中,你可能会看到类似以下的结构: ```javascript // router.js const express = require('express'); const router ...
在压缩包文件中,可能包含了一个名为“路由跟踪”的VB程序,用于模拟Tracert的功能。用户可以下载并运行这个程序,以可视化方式查看数据包在网络中的路径。 总的来说,路由跟踪是一个强大的网络故障排查工具,而VB...
你可以设置一个最大速率,当达到这个速率时,程序将暂时阻止或延迟数据传输,直到流量下降到可接受的水平。 5. **多线程编程**:为了同时处理多个网络连接,需要使用多线程技术。VC提供`_beginthread`或`...
本项目“C#编写的TCP/IP通信程序”就是基于C#的Socket编程实现的服务器和客户端示例,旨在帮助初学者理解和掌握TCP/IP通信的基本原理和编程技巧。 TCP(传输控制协议)是一种面向连接的、可靠的、基于字节流的传输...
- 创建一个TcpListener实例,指定服务器的IP地址和监听的端口号。 - 使用Start()方法启动监听。 - 当有客户端连接时,AcceptTcpClient()方法会阻塞并返回一个新的TcpClient实例,代表客户端连接。 2. **设置...
在Delphi这个强大的面向对象的编程环境中,编写路由映射的源码可以实现自定义的NAT规则,提高网络连接的效率和安全性。 【描述】"delphi写的 路由自动映射源码"表明这是一段用Delphi语言编写的程序,其功能是自动...
【标题】:“聊天小程序C语言编写.zip”是一个压缩包,其中包含了一个使用C语言编写的聊天应用程序源代码。这个程序允许用户通过网络进行简单的文本聊天。 【描述】:描述中提到,该程序需要在VC++6.0环境中运行,...
尽管这是一个简单的聊天室程序,但实际应用中还需要考虑安全性问题,如加密通信以保护用户隐私,防止中间人攻击。此外,性能优化也很重要,例如通过多线程处理并发连接,使用异步I/O提高效率,或者使用缓存减少不必...
Windy程序作为示例,很可能是实现了一个简单的TCP客户端和/或服务器。它可能包含了如何建立连接、交换数据以及断开连接的示例代码。通过阅读和分析Windy的源代码,我们可以学习如何在实际项目中应用这些WinSock API...
在本文中,我们将深入探讨如何使用Vue.js框架来构建一个TodoMVC应用,这是一个非常经典的JavaScript应用程序示例,常用于展示MVVM(Model-View-ViewModel)架构的基本原理。Vue.js是一个轻量级且功能强大的前端框架...
在源码中,我们可以看到程序首先设置一个初始的TTL值,然后向目标发送一个带有该TTL值的数据包。每经过一个路由器,TTL值就会减1。当TTL值为0时,路由器会向源主机发送一个ICMP“超时”(Time Exceeded)消息,表明...