【51CTO.com独家特稿】
◆一、命令行的重要性
命令行是“CMD”的意思,即命令提示符。微软从 Windows 95 操作系统开始,向来就是标榜着以友善的操作接口来驾驭您的操作系统,但是您可能发现微软从Windows Server 2000 开始,一直到Windows Vista操作系统发展中,却陆陆续续的出现许多命令行接口命令工具,这些文字接口命令工具包含AD 管理命令工具、磁盘驱动器管理命令工具、DNS 管理命令工具等等。
其中管理者甚至可以使用这些命令工具来代替大部分的图形化接口操作,但这并不代表微软的操作系统正在走回头路,或是甚至想与UNIX 、Linux 的操作系统统一苗头,让管理者可以在微软的作业系统当中享受经由快速的敲击键盘来达到“操作”系统的快感,若是您这样想,那您就误会了。事实上,命令工具在某些管理应用上甚至会比图形接口还来得恰当,甚至方便快速,因为工具命令有其图形接口上无法取代的优点。
例如:工具命令较适合工作于低速网络连结环境中(如:Telnet )执行管理工作,或是应用在大量的批次化的作业需求时。因此,笔者将在本文中介绍一个让使用者设置防火墙的管理工具─Netsh 。
◆二、netsh的定义
netsh工具在Vista帮助文档中称作NetShell。NetShell提供了一个界面,或命令模式,具可配置的环境。NetShell的功能和用途部分来源于它基于上下文的设计,新的上下文可由定制的DLLS提供,部分来源于提供的上下文,部分来源于脚本的使用。
netsh实用程序可工作于在线、离线、脚本三种模式下。要使用脚本模式,可用-f选项指定一个脚本文件,或者在netsh提示符下使用exec命令执行脚本。netsh命令是一个基于命令行的脚本编写工具,你可以使用此命令配置和监视Windows系统,此外它还提供了交互式网络外壳程序接口,简单的说它是一个可以让网络服务器管理员用来在命令提示字符下设定并监视Vista下执行的程序。
除此之外,Netsh工具还可以用来管理及设定相关的网络服务,而Netsh 之所以能用来管理系统网络服务,它的原理是:Netsh 工具本身能将所输入的内容命令整合于现有的操作系统网络服务当中,而这样的原理其实是利用导向的功能;Netsh 能将所输入的命令参数藉由导向功能将相关参数导向至适当的协助程序当中,再由该「协助程序」来执行命令,Netsh 使用动态链接库 (DLL) 文件来与其他操作系统组件交互。每个 Netsh 帮助程序 DLL 都提供一组称为上下文的扩展功能,这是网络组件专用的一组命令。这些上下文通过为一个或多个服务、实用工具或协议提供配置和监视支持来扩展 netsh 的功能。例如,Dhcpmon.dll 将为 netsh 提供配置和管理 DHCP 服务器所必需的上下文和命令组。当您想利用 Netsh工具来协助管理 DHCP 这个网络服务时,Netsh 就会将管理者所输入的相关参数设定,经由 Netsh 的导向能力导向至 mdhcp.dll,以便可以让管理者管理相关的网络服务。
Netsh 工具到底可以协助网管人员哪些工作,大致包括如下:
1、设定网络卡接口上的TCP/IP 工作状态。
2、设定路由通讯协议。
3、设定筛选器。
4、设定路由。
5、设定Vista下执行的远程访问路由器的远程访问设定。
6、显示目前在任何计算机上执行路由器的设定。
7、设置Vista防火墙。
◆三、netsh设置防火墙实例
蠕虫病毒特征之一就是利用有漏洞的操作系统进行端口攻击,因此防范此类病毒的简单方法就是屏蔽不必要的端口,防火墙软件都有此功能,其实对于采用Windows 2003的用户来说,不需要安装任何其他软件,因为可以利用系统自带的“Internet连接防火墙”来防范黑客的攻击。
Vista防火墙提供了防火墙功能,您可以使用该环境配置 Windows 防火墙设置。要运行 Windows 防火墙 netsh 命令,必须从命令提示符下启动 netsh,然后键入 firewall 以转到防火墙设置环境。您还可以在命令提示符下的一行上同时运行多个 netsh firewall 命令。您不能使用 netsh firewall 命令来远程配置 Windows 防火墙设置,也不能基于当前的 Windows 防火墙配置使用 dump 命令创建脚本。表-1列 netsh firewall 命令可在脚本中或命令行中用来配置 Windows 防火墙。
| 命令名称 | 功能描述 |
| show state | 显示当前状态信息。 |
| show service | 显示服务。 |
| show portopening | 显示已添加到例外列表的端口。 |
| show opmode | 显示操作模式。 |
| show notifications | 显示通知的当前设置。 |
| show multicastbroadcastresponse | 显示多播或广播响应设置。 |
| show logging | 显示日志记录设置。 |
| show icmpsetting | 显示 ICMP 设置。 |
| show currentprofile | 显示当前配置文件。 |
| set portopening | 设置防火墙端口配置。 |
| set logging | 用于指定日志记录选项。 |
| set opmode | 用于指定 Windows 防火墙的全局操作模式,或者某个特定连接(接口)的 Windows 防火墙操作模式。 |
| set service | 用于启用或禁用预先定义的文件和打印机共享、远程管理、远程桌面和 UPnP 例外。 |
| set icmpsetting | 设置防火墙 ICMP 配置。 |
| delete portopening | 用于删除现有的基于端口例外。 |
| delete allowedprogram | 用于删除现有的基于程序例外。 |
| add allowedprogram | 用于添加基于程序的例外。 |
| add portopening | 用于创建基于端口的例外。 |
| Reset | 将防火墙配置重置为默认值。 |
| dump | 显示一个配置脚本。 |
应用实例:
1、显示面前操作模式:
使用命令:“netsh firewall show opmode”,见图1:
![]() |
| 图 1 显示面前操作模式 |
2、进入 Windows 防火墙的全局操作模式,并且打开TCP 80端口允许http访问,
允许所有流量通过DNS服务器的53端口
依次使用命令:
“ set opmode enable”
“add portopening TCP 80 "My Web Port"”
“add portopening protocol=ALL port=53 name=DNS mode=ENABLE scope=CUSTOM”
| 共2页: 1 [2] 下一页 | ||||
|
|
||||
| · NAC安全访问控制 · 网络布线测试仪器 · Windows Server 2008专.. · Windows远程桌面应用 · 网络故障排除宝典 · 运营商封堵ADSL共享 中.. · 解析35岁技术人的价值.. · 世纪枭雄比尔盖茨的王.. |
· 主流品牌防火墙配置 · ASP.NET开发教程 · 超级计算机TOP500专题 · Vista SP1对决XP SP3 · SQL Server 2008/2005.. · 程序员如何成长? · C#技术开发指南 · 虚拟化技术还有点“虚” |
|||
|
||||
| · SOA 面向服务架构 · SQL Server 2008/2005.. · Apache技术专题 · 三层交换技术专题 · SQL Server入门到精通 · Windows远程桌面应用 · C#技术开发指南 · Apache技术专题 |
· Windows集群服务应用 · C#技术开发指南 · 国际文档格式标准开战 · 路由器设置与口令恢复 · Linux 集群技术专题 · PHP开发应用手册 · SOA 面向服务架构 · 企业数据恢复指南 |
|||
|
||||
| · SQL Server入门到精通 · SQL Server 2008/2005.. · SOA 面向服务架构 · Apache技术专题 · C#技术开发指南 · 三层交换技术专题 · Apache技术专题 · C#技术开发指南 |
· Windows远程桌面应用 · 企业数据恢复指南 · Windows集群服务应用 · 路由器设置与口令恢复 · Linux 集群技术专题 · SOA 面向服务架构 · 了解统一威胁管理(UTM).. · 反垃圾邮件技术应用 |
|||