站内搜索

DLINK-DSL500-ADSL-初探(四)- tftp功能

原帖及讨论:http://bbs.bc-cn.net/dispbbs.asp?boardID=229&ID=134205

这次重点放在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上
好好研究一下, 。。。
困了,午觉 。。。

 

  • 上一篇:LINUX VMWare-TOOLS的安装
  • 下一篇:DLINK-DSL500-BusyBox on dsl-gateway-初探(三)