前几天对ADSL-DLINK500做了初步的分析,把里面被“汉化”掉的高级功能找了出来,
内容在这个帖子上:
[原创](adsl)DLINK-DSL500-BusyBox on dsl-gateway-初探(一)(二)(三)
这次重点放在ADSL内部的linux系统上,
用ps -ef查看后可以看到很多服务进程:
# ps -ef
PID Uid VmSize Stat Command
1 root 1272 S init
2 root S [keventd]
3 root R [ksoftirqd_CPU0]
4 root S [kswapd]
5 root S [bdflush]
6 root S [kupdated]
7 root S [mtdblockd]
32 root 1168 S /usr/sbin/thttpd -d /usr/www -u root -p 80 -c /cgi-b
33 root 1784 S /usr/bin/cm_pc
35 root 1272 S init
36 root 2864 S /usr/bin/cm_logic -m /dev/ticfg -c /etc/config.xml
37 root 1280 S /usr/bin/cm_monitor
48 root 632 S /sbin/dproxy -c /etc/resolv.conf -d
99 root 672 S /usr/sbin/udhcpd /var/tmp/udhcpd.conf
101 root 2340 S /usr/sbin/pppd plugin pppoe nas7 user ta1*****38@e p
121 root 616 S /sbin/utelnetd
122 root 1276 S -sh
124 root 1272 R ps -ef
=============================================
我重点看了上面标红的两行,thttpd的现实被截断了,不过在/etc/init.d/rcS脚本中,
看到了这句话的完整内容:
/usr/sbin/thttpd -d /usr/www -u root -p 80 -c '/cgi-bin/*'
它指定web服务的主目录,端口和cgi脚本。
从cm_logic的帮助中看到它的用法:
cm_logic -h
Prints this help message.
cm_logic -c /path/to/config.xml
Uses XML file on a filesystem for configuration.
cm_logic -m /path/to/mtdblock/device -c /path/to/config.xml
Uses raw MTD block for configuration. If MTD is corrupted, it will be po
pulated with XML file.
所以 /dev/ticfg 和 /etc/config.xml 的内容应该是一样的,我用cat命令查看了他们。
帮助的最后一行也有:如果ticfg出了意外,就用config.xml来重建ticfg。
===========================================
接下来看一下那个tftp的小东西,在/usr/bin中:
# cd /usr/bin
# ls
[ cm_logic free test wget
cm_cli cm_monitor id tftp whoami
cm_convert cm_pc passwd tty yes
=============================================
我们知道,tftp是一个非常简单的文件传输协议,一般只有上传和下载功能,
不可以列出目录,但对于嵌入式linux的开发,确实非常优秀的工具。
我从网上找了个Cisco TFTP Server V1.1 汉化版.rar,设定好主目录,
在里面放了个xuhua.txt,内容是“xuhua, tftp succ ...”。
这样windows2003上
就开启了tftp服务,回到ADSL的telnet界面,测试一下tftp的get(上传)命令:
# tftp -g -l /var/xuhua.txt -r xuhua.txt 192.168.1.13
# cat /car/xuhua.txt
xuhua, tftp succ ...
==============================
再测试一下put上传命令,我把/etc/init.d/rcS传到我的本本上:
# tftp -p -l /etc/init.d/rcS -r rcS 192.168.1.13
在Cisco TFTP Server 指定的根目录中找到rcS,用记事本打开:
摘录部分内容:
==============================================
#! /bin/sh
#
# rcS Call all S??* scripts in /etc/rcS.d in
# numerical/alphabetical order.
#
# Version: @(#)/etc/init.d/rcS 2.76 19-Apr-1999 miquels@cistron.nl
#
trap "" SIGHUP
PATH=/sbin:/bin:/usr/sbin:/usr/bin
runlevel=S
prevlevel=N
umask 022
export PATH runlevel prevlevel
....
....(省略)
....
# UPnP requires loopback
ifconfig lo 127.0.0.1
/usr/sbin/thttpd -d /usr/www -u root -p 80 -c '/cgi-bin/*'
/usr/bin/cm_pc > /dev/tts/0 &
================================================
这样我们就可以和ADSL进行数据交换了,让我看看/etc里面的内容:
# ls /etc -a
.nautilus-metafile.xml host.conf resolv.conf
config.xml hosts securetty
dproxy.conf init.d services
dropbear inittab shadow
firewall_start led.conf shells
firewall_stop linux-igd strings.xml
flush_firewall passwd sysdef.xml
fstab ppp udhcpc
gateways progdefs.xml udhcpd.conf
group protocols versions
===========================================
看到了不少conf和xml吧,我认为有必要把它们tftp -p 到咱们的pc上
好好研究一下, 。。。
困了,午觉 。。。