QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 4355|回复: 2

DLINK-DSL500-BusyBox - 揭开隐藏的功能

[复制链接]
发表于 2007-4-23 22:54:45 | 显示全部楼层 |阅读模式
今天下午在宿舍,闲着 。。。

其实也不是闲着,从昨天就开始捣鼓一个linux的软盘镜像,一直不见起色,比较郁闷,

不知道怎的就想起上网的ADSL猫是个linux的系统,进去转转 。。。

这个也是用BusyBox做的。

telnet 192.168.1.1

用户名root,密码password (厂家没改)
=================================
BusyBox on dsl-gateway login: root
Password:

BusyBox v0.61.pre (2004.01.30-22:03+0000) Built-in shell (ash)
Enter 'help' for a list of built-in commands.
==================================

# ls
bin      etc      proc     usr      var.tar
dev      lib      sbin     var

=======================================
# ls /bin
ash       chmod     df        hostname  ls        ping      sh        touch
busybox   chown     echo      kill      mkdir     ps        sleep     true
cat       cp        false     ln        mount     pwd       sync      umount
chgrp     dd        grep      login     mv        rm        tar

看来命令还挺多。
=======================================
# cd /usr
# ls
bin    lib    sbin   share  www

这个www应该就是我们的web管理页面了。
接下来我发现了dsl的服务器。
======================================
# ls sbin
IGMPProxy  br2684ctl  dropbear   routed     thttpd     upnpd
atmarp     brctl      ftpu       snmpd      udhcpc
atmarpd    dhcp-fwd   pppd       tftpu      udhcpd

# ls bin
[           cm_logic    free        test        wget
cm_cli      cm_monitor  id          tftp        whoami
cm_convert  cm_pc       passwd      tty         yes

你可以看到thttpd, tftp, upnpd, pppd, snmpd ..... 可惜我不知道怎么用这些啊 。。
/usr/bin里面有个tftp和wget,比较不错哈。

这个dsl的设置可以改变,那就是说,这里面的某个地方不是read-only的,
我找了一下,发现是/var

# cd /var
# ls
cache  lib    lock   log    run    tmp
# mkdir xuhua
# ls
cache  lib    lock   log    run    tmp    xuhua
# rm -r xuhua
# ls
cache  lib    lock   log    run    tmp

看到了吧 。。。

# df
Filesystem           1k-blocks      Used Available Use% Mounted on
/dev/mtdblock/0           1376      1376         0 100% /

这是文件系统。
我对www还是比较感兴趣,到里面看了一下 。。。

# cd /usr/www
# ls
cgi-bin     html        index.html
# ls cgi-bin/
firmwarecfg  webcm
# ls html
adv               home              logout.html       restart.html
applycancel.html  index.html        logout.js         setup
blank.html        index1.html       postform.frm      status
defs              js                redirect.html     tools
help              logout.frm        refresh.frm
==============================================

我们平时管理adsl的时候会浏览:http://192.168.1.1
登陆后就出来一串url:http://192.168.1.1/cgi-bin/webcm ,
这个就是接受我们请求的cgi程序了,
那个firmwarecfg就是升级adsl镜像的地方:http://192.168.1.1/cgi-bin/firmwarecfg
===================================================

又查看了一下进程:
# ps -ef
  PID  Uid     VmSize Stat Command
    1 root       1272 S    init
    2 root            S    [keventd]
    3 root            S    [ksoftirqd_CPU0]
    4 root            S    [kswapd]
    5 root            S    [bdflush]
    6 root            S    [kupdated]
    7 root            S    [mtdblockd]
   32 root       1228 S    /usr/sbin/thttpd -d /usr/www -u root -p 80 -c /cgi-b
   33 root       2876 S    /usr/bin/cm_pc
   35 root       1272 S    init
   36 root       2872 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
   52 root       2340 S    /usr/sbin/pppd plugin pppoe nas7 user ta10035538@e p
   99 root        672 S    /usr/sbin/udhcpd /var/tmp/udhcpd.conf
  338 root       1592 R    firmwarecfg
  339 root            Z    [thttpd]
  340 root       1228 S    /usr/sbin/thttpd -d /usr/www -u root -p 80 -c /cgi-b
  349 root        660 S    routed
  363 root        616 S    /sbin/utelnetd
  364 root       1284 S    -sh
  397 root       1272 R    ps -ef

可以看到一些基本的服务配置。

在用ftp登陆的时候,虽然登陆成功,但没有权限,
C:\Documents and Settings\Administrator>ftp 192.168.1.1
Connected to 192.168.1.1.
220 FTPU ready.
User (192.168.1.1none)): root
331 Password required for root.
Password:
230 User logged in.
ftp> ls
200 PORT command OK.
200 Ignored
ftp>
=======================================

又用tftp,但是我们找到adsl的ftproot在哪里,才疏学浅啊 。。。
哪位高手知道的话,给我恢复一下,谢谢。。。

突然觉着饿了,先去觅食儿,回来写网通cnc把adsl里面的功能改的乱七八糟,
去掉了一堆好用的功能,也没功夫鄙视他们了,先吃饱再说 。。。
 楼主| 发表于 2007-4-24 07:40:59 | 显示全部楼层

DLINK-DSL500-BusyBox - 揭开隐藏的功能

不知不觉已经很晚了,晚上背着本本到自习室学习了,现在的世道啊,乱 。。。
我们这楼上丢了不少本本了,个个都比我的好啊,吓得我天天背着,毕竟要靠它吃饭啊 。。。

废话不说了,接着上一篇的说,thttpd web server是个不错的东西,dsl500用它构建了一个
方便的web管理系统,这应该是好事儿,可偏偏这些娃儿们把里面的东西搞得乱七八糟,“精简”了一堆好东东,下面我们就来发现一下,还有什么在这个小adsl里面。

先登录:
BusyBox on dsl-gateway login: root
Password:

BusyBox v0.61.pre (2004.01.30-22:03+0000) Built-in shell (ash)
Enter 'help' for a list of built-in commands.

然后:
=============================================
# cd /usr/www/html/
# ls
adv               home              logout.html       restart.html
applycancel.html  index.html        logout.js         setup
blank.html        index1.html       postform.frm      status
defs              js                redirect.html     tools
help              logout.frm        refresh.frm
===================================================
里面的adv文件夹就是一个被隐藏的高级设置选项,
这个操作系统原来是英文版本的,里面的配置页面也一样,但现在已经被改过了,
做了汉化工作,好事情嘛,毕竟国人的英语 。。。
但里面的不少东西都被“汉”丢了,这就不好了,你看上面的index.html和index1.html
接着看另外一个地方:
cd /usr/www/html/defs/style0/menus
# ls
menu.def           menu1_help.html    menu1_setup.html   menu1_top.def
menu.html          menu1_help.js      menu1_setup.js     menu1_top.html
menu1.def          menu1_home.def     menu1_status.def   menu1_top.js
menu1.html         menu1_home.html    menu1_status.html  menu_left.html
menu1_adv.def      menu1_home.js      menu1_status.js    menu_top.html
menu1_adv.html     menu1_logout.html  menu1_tools.def
menu1_adv.js       menu1_logout.js    menu1_tools.html
menu1_help.def     menu1_setup.def    menu1_tools.js
==============================================
如果没有猜错的话,加 1 的就是原来的,于是我打开连接0的web管理页面:
http://192.168.1.1/cgi-bin/webcm ... r:conid=connection0

图片如下:


很熟悉吧,再看那个url:
http://192.168.1.1/cgi-bin/webcm ... r:conid=connection0
中的menus menu.html(菜单),
var(变量):main=menu, menu=setup, menutitle=setup, pagename=pppoe,
errpagename=pppoe, pagetitle=link0 setup
我把这些修改了一下,成了下面的样子:
http://192.168.1.1/cgi-bin/webcm ... r:conid=connection0

在浏览器中打开后是这样一个页面,图片如下:


看到了吧,好像比中文的时候多了些菜单哈,上面的Advanced,tools,status,help
点开看看那些被隐藏的东东:


==============================================================

看看Access Control的内容:

================================================

再来看看tools 。。。。
回复

使用道具 举报

 楼主| 发表于 2007-4-24 07:48:50 | 显示全部楼层
接着写,看看tools的功能介绍:

================================================

然后是Status:

====================================================
最后是help的内容:

====================================================
这六个连接可以点击进入,我把pppoe的连接帮助贴出来吧 。。。

http://blog.bc-cn.net/UploadFiles/2007-4/421702349.jpg

================================================

基本的东西就是这么多了,看看你需要什么功能,自己去找找吧 。。。

看来这种嵌入式的技术是无处不在啊 。。。

上半年的时候学习过一段时间的arm+linux,是学校里面开的选修课程,感觉不错,
最近这段时间就是在学习linux方面的东西,虽然我不能把这个adsl里面的技术弄明白
不过,我始终认为 自己动手去做一下,自己用眼来看一看,都会有收获的。

这个小adsl,我还是会继续探的,,前几日刚刚从论坛上知道了BusyBox,还不会
用,下一步,想去看一下这些东西是怎么回事儿 。。。

祝各位工作顺利,学习顺利 。。。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-11-22 00:39 , Processed in 0.262742 second(s), 16 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表