基于HTTP协议的无线AP远程配置实现方法

来源 :电脑知识与技术 | 被引量 : 0次 | 上传用户:zhangshihua11
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘要:文章在Linux台式机上实现了AP(Access Point)及其扩展功能,并在同一台主机上架设apache服务器,用perl语言编写CGI程序,使用户可以通过HTML页面远程配置主机,从而实现对AP功能的调整。简单的配置页面,降低了用户对Linux操作系统专业知识掌握程度的要求。实验在模拟现有AP产品功能的同时,增加了不需重新启动服务器,直接完成配置修改的功能,测试结果表明,这个改动提高了产品的性能,满足了不同用户的需求。
  关键词:AP; WDS; 远程配置
  中图分类号:TP393文献标识码:A文章编号:1009-3044(2008)35-2129-03
  The Implement of Configuring Wireless AP in Long-distance Based on HTTP
  ZHONG Hui, YUE Qi-ming
  (Shenyang Jianzhu University, Shenyang 110168, China)
  Abstract: This article first realized AP and WDS based on Linux PC. Then established an Apache server on the same machine and wrote CGI with Perl, so that users could configure AP by HTML page which makes configuration easier. In this experiment, some configurations for AP would take effect immediately instead of rebooting server, which optimized AP’s performance.
  Key words: AP; WDS; remote configuration
  
  1 绪论
  
  1.1 CGI简介
  CGI(Common Gateway Interface),即通用网关接口,是使服务器与外部应用程序相交互的一个标准协议。它实际上是一段工作在服务器上的程序,提供与客户端HTHL页面的接口,绝大多数的CGI程序被用来处理来自表单的输入信息,并在服务器上作出相应的处理,或将相应的信息反馈给浏览器。其工作流程如下:(图1)
  
  1)通过Internet把用户请求送到服务器;2)服务器接收用户请求交给CGI程序处理;3)CGI程序把处理结果传送给服务器;4)服务器把结果送回到用户。
  CGI的缺点:调用一次CGI通常意味着产生一个新的进程,这通常比产生输出结果的工作占据更多的时间和空间,特别是程序需要被解释和编译时。因此,如果CGI程序被频繁调用,将产生巨大的工作量。目前替代的方法有:在服务器上运行第三方软件,如apache modules(本实验采用此方法)。
  1.2 台式机模拟AP功能的相关介绍
  AP(Access Point),无线访问节点,是连接有线网与无线网的桥梁,其主要作用是将无线网络客户端连接到一起,再把无线网络接入到以太网中,其作用相当于有线网路中的hub。
  WDS(Wireless Distribution System),无线分布式系统,以无线的方式使基本服务集间互相通信的系统,并整合局域网形成一个扩展服务集。
  
  2 前期准备
  
  2.1 AP及扩展功能的实现
  1)AP功能的实现:
  本实验的操作系统是RedHat 9.0,使用madwifi系列无线网卡驱动,在安装驱动之前要检查系统的内核的版本是否高于驱动要求的2.4.23。如不满足要求,则需升级内核。
  然后安装无线网卡驱动,并设置端口ath0;安装网桥软件(以brctl为例),建立网桥br0,将有线网卡eth0和ath0的IP地址改为0.0.0.0,并设置成br0的两个端口,再为br0添加IP地址,这样便实现AP功能。
  2)WDS功能的实现:
  WDS是对AP功能的扩展,是通过两个AP节点间以特有的WDS模式进行的数据传输,实现两个AP及其下属间的连通。首先,通过wlanconfig命令为机器A的无线网卡创建两个个端口,ath10、ath11,其模式分别为ap和wds,并将它们设置为网桥的两个端口;同时为机器B的无线网卡创建ath20、ath21两个端口,其模式也分别为ap和wds,将他们设置为网桥的两个端口;然后,使用iwconfig命令为ath11端口绑定机器B无线网卡的MAC地址,为ath21绑定机器A无线网卡的MAC地址,将他们置为同一个频道,这样就实现了WDS。
  2.2 HTTP服务器建立及配置
  本文选用的服务器是apache1.3,安装后对其目录下的httpd.conf文件进行修改,如根目录的位置、支持CGI及perl语言、允许服务器前端包含等。启动apache,在浏览器的地址栏内输入http://本机器的名字或本机IP地址,如果出现服务器的测试页,则说明安装成功。实验使用perl语言编写CGI,因此要安装Perl软件(本文安装的是Perl 5.8版本)。在命令行中输入perl,如果出现命令提示信息,则表示安装成功。最后安装CGI-2.49.pm模块,它解决了CGI程序对主机CPU过度占用的问题,即前面提到的第三方软件。安装后,编写如下脚本:
  #!/usr/bin/perl
  use CGI;
  print “hello”;
  确保该脚本具有可执行性,然后执行。如果没有收到任何错误信息,表示安装成功。
  至此,服务器的搭建完毕,用HTML语言编写一个页面,然后修改httpd.conf文件中的htdocs/index.html语句,可把该页面设为主页,通过访问服务器即可看到该页面。
  2.3 修改服务器访问权限
  启动服务器后,如果要在客户端通过html页面执行服务器命令是不被允许的,因为apache的客户端的权限不是根用户级别,而系统的网络命令(如ifconfig)须在根用户权限下才能执行。解决方法是使用sudo,即在非根用户的情况下执行根用户权限的命令。但使用sudo时需密码,而http服务器在远程控制时不可能每执行一个命令就输入一次密码,因此需要更改sudo配置文件/etc/sudoers,即可实现这一目的。
  
  3 远程修改无线AP配置
  
  3.1 CGI程序结构图
  本文CGI程序的总体框架:如图3 。
  3.2 用户登录模块
  用户登录模块有效的防止了非法用户对AP进行恶意地修改。其实现方法如下:
  首先使用htpasswd命令在apache根目录下建立用户文件,根据程序提示输入用户名和密码。然后建立.htaccess文件,输入AuthName、AuthUserFile等信息,再修改这两个文件的权限,最后在apache的httpd.conf文件中加入AllowOverride authconfig即完成加密工作。如要修改登陆密码,可在本程序的修改密码界面输入新的密码,确认后提交,页面的CGI程序将输入值写入htpasswd文件,完成修改。
  3.3 修改IP地址模块
  本模块负责将用户输入的数据,如获取IP的方式、IP地址、子网掩码、网关等,经过CGI程序的处理,完成对服务器配置的修改(其界面如图4)。首先向网页代码中加入
  

  指明接收和处理表单数据的CGI程序。然后在服务器上编写同名CGI程序。有两种方式修改IP地址,DHCP模式和手动模式,通过一个下拉控件实现。将页面代码中下拉栏的DHCP选项值赋为1,手动选项值为2,并在CGI中设置一个条件控制语句,分别执行。
  1)手动修改:通过用户输入的参数完成对服务器的IP地址、子网掩码及网关的修改。弹出的新页面上显示新的相关信息。
  该程序的主要思想:首先用open函数以写入的方式打开服务器的配置文件,然后用param函数将web页面输入的值读入变量中,再将变量的值写入服务器的配置文件,执行
  system(sudo ifconfig br0 IP值)
  语句完成修改服务器IP的任务,不需要重新启动,直接完成了IP的修改,使得AP点不会在重启的过程中不可用,即使客户端进行网络不可中断操作时,管理员也可对AP进行调整。
  2)自动获取:通过DHCP从网关获取IP地址。如果用户选中动态方式获取,用
  system(sudo dhclient br0)
  语句从网关获取IP地址,然后修改AP配置文件,把br0获取IP的方式改为dhclient br0,不需重启即完成。
  3.4 修改无线配置模块
  负责修改AP的SSID及传输频道。SSID(Service Set Identifier),无线AP用它来区分不同的网络,无线网卡设置不同的SSID就可以进入不同的网络。编写CGI时,通过
  system(”sudo iwconfig ath0 essid‘指定的名字’”)
  system(”sudo iwconfig ath0channel‘指定的频道’”)
  语句完成修改,最后将修改写入AP的配置文件中。
  3.5 WDS控制模块
  负责为AP点添加和删除WDS连接。用户在输入栏内填入或删除对方无线网卡的mac地址即可。编写CGI时,先打开WDS的配置文件,然后判断从页面读入的mac地址的值,如果该值不空,则写入WDS配置文件,即向执行脚本中加入
  iwconfig athx ap “mac地址”,
  执行系统重启命令
  system(”sudo reboot”),
  系统重启后,即实现WDS模式。若输入的mac地址为空,只执行系统重启命令即可。因为perl语言以写入方式打开文件时,先将源文件的内容全部删除,所以WDS的配置文件为空,系统重启时,空的WDS配置文件不起任何作用,这就达到了删除wds连接的目的。
  
  4 总结
  
  用台式机实现AP功能,降低了组网成本,增加了网络的灵活性。通过http服务器,以简单的HTML界面完成对AP的远程配置,避免了由于用户缺少Linux操作系统知识而造成的麻烦。本文的工作还需进一步完善,后续的工作将从一下几个方面进行:控制AP覆盖范围内上网计算机;对AP的传输进行加密;绘制周围客户端与AP的网状图。
  
  参考文献:
  [1] 谢进忠.Linux Kernel Module及TCP/IP程序设计[M].北京.人民邮电出版社,2007:3-11
  [2] Jones H A. Linux web编程[M].北京.电子工业出版社,2000.
  [3] 朱居正.Red Hat Linux Fedora Core 5系统管理[M].北京.清华大学出版社,2006.
  [4] Guelich S. CGI Programming with Perl[M].北京.中国电力出版社,2001.
其他文献
摘要:企业遗留系统的复用是企业信息化阶段必须解决的问题,本文提出了一种基于SOA的企业遗留系统复用框架,通过Web Services将遗留系统的功能模块包装成服务来实现复用并结合实例予以证实,较好地解决了企业遗留系统的复用问题。  关键词:遗留系统;SOA;复用;web services  中图分类号:TP311文献标识码:A文章编号:1009-3044(2008)35-2072-02  Rese
期刊
摘要:介绍了Darwin streaming server(DSS)源码的架构和核心流程;详细分析了Darwin streaming server的关键技术:媒体封包和流量控制;最后给出了Darwin streaming server的应用实例。  关键词:RTP;流媒体;Darwin Streaming Server(DSS)  中图分类号:TP311文献标识码:A文章编号:1009-3044(
期刊
摘要:论文分析慢启动、拥塞避免、快速重传、快速恢复等四个拥塞控制阶段的特点。利用OPNET Modeler软件构建了一个简单的网络模型,在此基础上分别对Tahoe,Reno,New Reno,SACK等拥塞控制算法进行仿真,对比研究了它们各自的不同点。  关键词:OPNET仿真;拥塞控制;TCP  中图分类号:TP393文献标识码:A文章编号:1009-3044(2008)35-2093-02  
期刊
摘要:本文基于Linux 2.4.19平台以及新型的移动终端应用处理器unity805plus,给出一种运用SUBB1400芯片中触摸屏控制器模块实现触摸屏驱动的方案。分别从硬件,软件的角度阐述了触摸屏驱动的初始化设置、中断以及后台进程、信号量在笔点击事件处理流程中的应用。  关键词:嵌入式Linux;触摸屏;字符设备驱动;UCB1400  中图分类号:TP391 文献标识码:A 文章编号:100
期刊
如果你使用的是最新版本的Chrome内核的Edge浏览器(下载网址:https://www.microsoftedgeinsider.com/zh-cn/download),那么可以体验到许多新鲜的功能,这里介绍两则比较实用的快捷技巧。  技巧一:一键打开相同的标签页  某些时候,我们需要同时打开多个相同的标签页,常规的步骤是复制页面地址后在新的标签页打开,操作相当烦琐,现在只需要右击当前标签页,
期刊
摘要:以《计算机图形学》这门课程为例,介绍多媒体CAI课件在计算机教学中的应用。文章重点论述了基于Authorware的多媒体教学软件的设计思路和交互式功能、ActiveX控件、知识对象等关键技术的实现。经过教学实践,该课件取得了较好的效果。  关键词: CAI;多媒体;Authorware;交互式;计算机  中图分类号:TP37文献标识码:A文章编号:1009-3044(2008)35-2067
期刊
摘要:模型检查工具SPIN的核心是PROMELA语言,对PROMELA语言执行方式的理解决定所描述系统模型的行为方式。该文从语义角度研究了 PROMELA语义引擎问题。首先给出PROMELA语法的抽象对象模型形式化定义,然后给出一个算法来实现PROMELA语法到抽象对象模型的映射,描述 了PROMELA指称语义。  关键词:模型检查;SPIN;PROMELA;语义  中图分类号:TP315文献标识
期刊
摘要:针对Lab Windows/CVI中的DataSocket技术和NI网络变量只能手工、静态分配采集端资源的问题。该文设计和实现了一个基于虚拟仪器的网络通信平台,使得多个客户端可以同时和多个采集端进行通信,并动态的申请和释放采集端资源。  关键词:Lab Windows/CVI;远程测控;动态资源分配  中图分类号:TP393文献标识码:A文章编号:1009-3044(2008)35-2138
期刊
摘要:随着互联网时代的到来,网上答疑、在线考试等手段逐渐被采用;B/S结构比C/S结构具有简单、容易实现等优点;基于B/S结构,并采用ASP,NET技术,本文阐述了设计和实现教学辅助系统的过程。  关键词:B/S;ASP,NET;网上答疑;在线考试  中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2008)01-100187-04
期刊
摘要:该文主要对Web前端开发中经常使用的浏览器端脚本语言JavaScript进行分析,讨论了其中闭包技术的使用,并结合IE浏览器中内存占用情况分析了不当使用闭包技术造成的内存泄漏情况及避免方法。  关键词:JavaScript;闭包;IE浏览器;内存泄漏  中图分类号:TP393文献标识码:A文章编号:1009-3044(2008)35-2134-03  Closure in JavaScrip
期刊