rabbit5455 发表于 2007-4-23 22:54:45

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

今天下午在宿舍,闲着 。。。

其实也不是闲着,从昨天就开始捣鼓一个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      hostnamels      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   sharewww

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

# ls bin
[         cm_logic    free      test      wget
cm_cli      cm_monitorid          tftp      whoami
cm_convertcm_pc       passwd      tty         yes

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

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

# cd /var
# ls
cachelib    lock   log    run    tmp
# mkdir xuhua
# ls
cachelib    lock   log    run    tmp    xuhua
# rm -r xuhua
# ls
cachelib    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/
firmwarecfgwebcm
# ls html
adv               home            logout.html       restart.html
applycancel.htmlindex.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
PIDUid   VmSize Stat Command
    1 root       1272 S    init
    2 root            S   
    3 root            S   
    4 root            S   
    5 root            S   
    6 root            S   
    7 root            S   
   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   
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.1:(none)): 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里面的功能改的乱七八糟,
去掉了一堆好用的功能,也没功夫鄙视他们了,先吃饱再说 。。。

rabbit5455 发表于 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.htmlindex.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.htmlmenu_left.html
menu1_adv.def      menu1_home.js      menu1_status.js    menu_top.html
menu1_adv.html   menu1_logout.htmlmenu1_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?getpage=..%2Fhtml%2Fdefs%2Fstyle0%2Fmenus%2Fmenu.html&var:style=style0&var:main=menu&var:menu=setup&var:menutitle=Setup&var:pagename=pppoe&var:errorpagename=pppoe&var:pagetitle=Link0%20Setup&var:conid=connection0

图片如下:
http://blog.bc-cn.net/UploadFiles/2007-4/421577888.jpg

很熟悉吧,再看那个url:
http://192.168.1.1/cgi-bin/webcm?getpage=..%2Fhtml%2Fdefs%2Fstyle0%2Fmenus%2Fmenu.html&var:style=style0&var:main=menu&var:menu=setup&var:menutitle=Setup&var:pagename=pppoe&var:errorpagename=pppoe&var:pagetitle=Link0%20Setup&var: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?getpage=..%2Fhtml%2Fdefs%2Fstyle0%2Fmenus%2Fmenu1.html&var:style=style0&var:main=menu1&var:menu=setup&var:menutitle=Setup&var:pagename=pppoe&var:errorpagename=pppoe&var:pagetitle=Link0%20Setup&var:conid=connection0

在浏览器中打开后是这样一个页面,图片如下:
http://blog.bc-cn.net/UploadFiles/2007-4/421756608.jpg

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

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

看看Access Control的内容:
http://blog.bc-cn.net/UploadFiles/2007-4/421999543.jpg
================================================

再来看看tools 。。。。

rabbit5455 发表于 2007-4-24 07:48:50

接着写,看看tools的功能介绍:
http://blog.bc-cn.net/UploadFiles/2007-4/421709792.jpg
================================================

然后是Status:
http://blog.bc-cn.net/UploadFiles/2007-4/421543308.jpg
====================================================
最后是help的内容:
http://blog.bc-cn.net/UploadFiles/2007-4/421266782.jpg
====================================================
这六个连接可以点击进入,我把pppoe的连接帮助贴出来吧 。。。

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

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

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

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

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

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

祝各位工作顺利,学习顺利 。。。
页: [1]
查看完整版本: DLINK-DSL500-BusyBox - 揭开隐藏的功能