拿起手术刀 深入剖解路由器的“心脏”技术

时间:2018-09-06来源:网络

ifconfig eth0 192.168.0.101 up

boa-c/home/

修改后重新编译内核,再下载到硬件板运行.运行uclinux后,不需要配置就可以直接通过IE来访问http://192.168.0.101,看到你的网页了。

⑵uclinux下实现动态Web页面的CGI技术

到目前为止,实现动态Web页面有4种技术可供选择:CGI(Common Gateway Interface), ASP(ActiveXServerPage),PHP(PersonalHomePage)和JSP(JavaServerPage).在uclinux下如果要实现动态网页,只能采用CGI,因此目前uclinux还不支持ASP, PHP等动态Web页面技术。CGI(通用网关接口)提供Web服务器一个执行外部程序的通道,这种服务端技术使得浏览器和服务器之间具有交互性。CGI程序属于一个外部程序,需要编译成可执行文件,以便在服务端运行。浏览器将用户输入的数据送到Web服务器,Web服务器将数据使用STDIN送给CGI程序,在执行CGI程序后,可能会访问存储数据的一些文档,最后使用STDOUT输出HTML形式的结构文件,经Web服务器送回浏览器显示给用户。CGI程序可以用任何程序设计语言编写,如Shell脚本语言、Perl,Fortran, Pascal, C语言等。但目前uclinux不支持Pert, Fortran等语言,而且C语言在平台无关性上表示不错,所以我们选择用C来编写CGI程序。另外,uClinux也不支持数据库,所以需要保存的数据只能保存到文件中,CGI查询数据时也是查询这些文件,而不是访问数据库。

⑶uClinux下动态Web页面的实现

下面通过一个例子来说明如何实现uClinux下的动态Web页面技术。此例子的目的是使用户能够通过Web页面内嵌表单提交数据,并能把用户提交的数据通过Web浏览器正确地返回给用户。实现动态Web页面的第一步是用HTML语言编写Web页及内建表单。编写Web页面时,要由ACTION属性来指定相关的CGI程序,如ACTION=cgi-bin/demo;由MOTHOD属性来指明所用的提交数据的方法,即MOTHOD=POST(GET)。

实现动态 Web页面的第二步是用C编写CGI程序,CGI程序分为以下几部分:①根据POST方法或GET方法从提交的表单中接收数据;②URL编码的解码;③用printf() 函数来产生HTML源代码,并将经过解码后的数据正确地返回给浏览器。包括demo.c, cgivars.h和cgivars.c三个文件。将编写好的CGI程序编译成二进制文件放在cgi-bin/目录下,CGI程序能被正确地执行,最终CGI程序就可以对上述表单数据的进行处理了。

下面对程序稍加说明。若以GET方法提交数据,表单中的数据被保存在QUERY_STRING环境变量中,通过调用函数getenv(QUERY_STRING)来读取数据;若以POST方法提交数据,则程序先从CONTENT LENGTH环境量得到数据的字长,然后从标准输入中读取相应长度的字符串即可得到提交的数据。数组postinput[i] 中保存的就是从表单中提取的数据。

URL编码的解码过程较为复杂,URL编码的规则下:①变量之间用“”分开;② 变量与其对应值之间用“=”连接;③空格符用“+”代替;④特殊意义的字符用%接相应的十六进制ASCI码代替。解码即为编码的逆过程。在程序中,对于从表单中提取过来的postinput[i]中的数据,当发现字符为“+”时,将它转换成空格;当发现字符为“”时,意味着个名字2值对的结束,在此处将字符中切成几个字符串;当再现字符为“=”时,意味着一个名字/值对的名字部分的结束,在此再将名字/值对分开。最后通过调用unescape_url(char *url)子函数将十六进制ASCII码值表示的特殊字符转换成相应的ASCII字符。

3、PPPOE拨号实现

PPPOE主要针对ADSL宽带接入方式,实现用户的的认证上网方式就是采用这种方式接入。

⑴PPPOE简介

1998年后期问世的以太网上点对点协议(PPP over Ethernet)技术是由Redback网络公司、客户端软件开发商RouterWare公司以及Worldcom子公司UUNET Technologies公司在IETF RFC制的基础上联合开发的。通过把最经济的局域网技术以太网和点对点协议的可扩展性及管理控制功能结合在一起,网络服务提供商和电信运营商便可利用可靠和熟悉的技术来加速部署高速互联网业务。它使服务提供商在通过数字用户线、电缆调制解调器或无线连接等方式,提供支持多用户的宽带接入服务时更加简便易行.同时该技术亦简化了最终用户在动态地选择这些服务时的操作.

⑵PPPOE实现

实现步骤 :

pppoe的实现有两种方式,一种是作为一个用户态的应用程序运行,就是rp-pppoe这个程序;另一种是选择在kernel ppp里支持pppoe功能,这同时也需要pppd支持pppoe。

具体的细节实现步骤本文不做详述,有兴趣的读者可以查阅相关的Linux资料进行更深一步的学习研究。

4、基于IPTable过滤式防火墙

网络防火墙用来保护一个网络不受来自另一个网络的攻击,是网络安全环节中进行的一个防御步骤。在路由器中配置IPTable过滤式防火墙,可以对IP数据封包进行规则检查和过滤,保证内网安全。

⑴防火墙概述

防火墙是一套能够在两个或两个以上的网络之间,明显区隔出实体线路联机的软硬件设备组合。被区隔开来的网络,可以透过封包转送技术来相互通讯,透过防火墙的安全管理机制,可以决定哪些数据可以流通,哪些资料无法流通,藉此达到网络安全保护的目的。

防火墙产品可以概略归类为硬件式防火墙和软件式防火墙,但实际上无论是硬件式或软件式防火墙,它们都需要使用硬件来作为联机介接,也需要使用软件来设定安全政策,严格说两者间的差别并不太大。我们只能从使用的硬件与操作系统来加以区分,硬件式防火墙是使用专有的硬件,而软件式防火墙则使用一般的计算机硬件,硬件式防火墙使用专有的操作系统,而软件式防火墙则使用一般的操作系统。

防火墙依照其运作方式来分类,可以区分为封包过滤式防火墙(Packet Filter)、应用层网关式防火墙(Application-Level Gateway,也有人把它称为Proxy防火墙)、电路层网关式防火墙(Circuit-Level Gateway).其中被广为采用的是封包过滤式防火墙,本文要介绍的iptables防火墙就是属于这一种。

封包过滤是最早被实作出来的防火墙技术,它是在TCP/IP四层架构下的IP层中运作.封包过滤器的功能主要是检查通过的每一个IP数据封包,如果其标头中所含的数据内容符合过滤条件的设定就进行进一步的处理,主要的处理方式包含:放行(accept)、丢弃(drop)或拒绝(reject)。要进行封包过滤,防火墙必须要能分析通过封包的来源IP与目的地IP,,还必须能检查封包类型、来源端口号与目的端口号、封包流向、封包进入防火墙的网卡接口、TCP的联机状态等数据。

1 2 3 4 5 6 7

关键词:

加入微信
获取电子行业最新资讯
搜索微信公众号:EEPW

或用微信扫描左侧二维码

相关文章

查看电脑版