Linux操作系统上建立手机WAP网关的方法


查了很多资料,终于能够在Linux上建立一个WAP网关了!建立成功后,你就可以使用自己的WAP网关浏览无线网络内容!试试抛弃中国移动提供的网关参数而使用自己DIY出来的WAP网关,这样的感觉,呵呵,挺酷的!

一、系统需求

需要libxml2库2.2.5或更高版本,这个XML库是安装和编译网关所需要的。

可以通过以下命令检查系统中是否已经安装libxml2库:

# rpm -qa | grep libxml2

############# 51CTO编者注 开始 ####################

#Libxml2 是一个xml c语言版的解析器,本来是为Gnome项目开发的工具,是一个基于MIT License的免费开源软件。它除了支持c语言版以外,还支持c++、PHP、Pascal、Ruby、Tcl等语言的绑定,能在Windows、Linux、Solaris、MacOsX等平台上运行。功能还是相当强大的,相信满足一般用户需求没有任何问题。

#具体的介绍就参考 http://xmlsoft.org/

#Libxml2安装

#1) 从xmlsoft站点或ftp(ftp.xmlsoft.org)站点下载libxml压缩包(libxml2-xxxx.tar.gz)

#2) 对压缩包进行解压缩

tar xvzf libxml2-xxxx.tar.gz

#3) 进入解压缩后的文件夹中运行

./configure --prefix /home/user/myxml/xmlinst(此处为待安装的路径)

make

make install

#添加路径

#export PATH=/home/user/myxml/xmlinst/bin:$PATH

#说明:为了结构清晰,最好将libxml2不安装在解压目录中。

################## 51CTO编者注 结束 ####################

二、建立WAP网关

很多商用的WAP网关价格令人咋舌!根本不是个人用的起的。不过,有一个名为Kannel的WAP网关是完全免费的!Kannel是一个开放源代码的WAP网关项目,在安装后还可以自定义网关参数。打造自己的个性化WAP网关!

1、下载安装

目前最新的Kannel稳定版版本为1.4.0,可以在http://www.kannel.org下载。下载后进行安装:

# tar xzvf gateway-1.4.0.tar.gz

# mv gateway-1.4.0 /usr/local/kannel

# cd /usr/local/kannel

# ./configure --enable-start-stop-daemon

# make

# make bindir=/usr/local/bin install

2、配置网关

# vi gw/wapkannel.conf

# KANNLE WAP示例配置文档

# Created by Nanu

# http://nanu.8866.org

# 这是一个必须变量core

group = core

# 用于bearerbox侦听HTTP管理命令的端口号。可以设定为高于1023的任何端口

admin-port = 13333

# 指定是否启用SSL

admin-port-ssl = false

# HTTP 管理命令的密码

admin-password = yourpasswd

# 请求Kannel状态的密码。如果没有设置,则无需密码。

status-password = rose123

# 拒绝来自该IP地址的连接

admin-deny-ip = "123.123.123.123"

# 允许这些IP的连接,可以使用通配符

admin-allow-ip = "*.*.*.*"

# 用于wapbox连接的端口。如果没有设置,则Kannel不能处理WAP传输

wapbox-port = 13002

# 拒绝来自该IP地址的连接

box-deny-ip = "123.123.123.123"

# 允许这些IP对WAP单元的连接,可以使用通配符

box-allow-ip = "*.*.*.*"

# 拒绝来自该IP的UDP数据包

udp-deny-ip = "123.123.123.123"

# 允许来自该IP的UDP数据包,可以使用通配符

udp-allow-ip = "*.*.*.*"

# 如果设置了这个参数,Kannel就会侦听指定IP的9200到9208端口的WAP UDP数据包。

# 如果不需要具体限定,可以只用一个星号

wdp-interface-name = "*"

# 日志文件

log-file = "kannel.log"

# 日志级别

# 0 调度

# 1 信息

# 2 警告

# 3 错误

# 4 致命问题

log-level = 1

# WAPBOX 组配置信息

# 必选变量

group = wapbox

# 运行bearerbox的计算机

bearerbox-host = localhost

# 计时器的较验频率

timer-freq = 1

# 日志文件

log-file = "wap.log"

# 日志级别

# 0 调度

# 1 信息

# 2 警告

# 3 错误

# 4 致命问题

log-level = 1

3、启动网关

必须先启动bearerbox,然后再启动 wapbox。由于bearerbox是网关的基本部分,所以必须要先启动。

启动bearerbox:

./bearerbox -v 1 /usr/local/kannel/gw/wapkannel.conf

启动wapbox:

./wapbox -v 1 /usr/local/kannel/gw/wapkannel.conf

三、通过HTTP管理网关

可用命令:

http://localhost:13333/shutdown?password=yourpasswd 关闭网关)

http://localhost:13333/status?password=yourpasswd 获取网关状态)

http://localhost:13333/resume?password=yourpasswd 继续运行网关)

说明:

13333:为配置文件中admin-port指定的端口

password:为配置文件中admin-password指定的密码

四、使用一个支持WAP的手机或者模拟器测试

1、确认Linux的IPTABLES或者其他防火墙开放相应的WAP端口;

2、修改你手机或手机模拟器中的WAP网关参数为你运行的Linux的IP地址;

3、访问一个基于WML页面的WAP站点,如果能够访问则说明成功。

相关文章】

  • 为Exchange Server安装WAP电子邮件网关
  • 用C#读取sina天气预报到wap页面
  • Libxml2远程URI解析缓冲区溢出漏洞

相关内容