Linuxルーターにプログラムをインストールする必要があります。これは、ddwrtがインストールされているlinksysルーターでも実行できますか?どうやって?
DD-WRTを使用してルーターにインストールするには、ルーター管理インターフェイスでいくつかの機能を有効にする必要があります。まず、AdministrationセクションのManagementタブでJFFS2を有効にします。次に、ServicesセクションのServicesタブでSSHdを有効にします。別のコンピューターからファイルにアクセスする必要がある場合、最も簡単な方法は、Windowsファイル共有/ SMBを介してファイルを共有し、管理のCIFS自動マウントセクションを介してマウントすることです。 管理セクションのタブ。必要に応じてSCPを使用することもできます。
それが済んだら、SSH経由でルーターにアクセスできます。 LinuxおよびMacOS Xでこれを行うには、ssh [router IP address]
を実行するだけです。 Windowsでこれを行うには、 PuTTY または別のSSHクライアントが必要です。
オンにすると、完全なLinux BusyBox シェルにアクセスできるようになります。しかし、それは戦いの半分に過ぎません。ルーターにはx86ベースのプロセッサが付属していないため、Linuxマシンからバイナリをコピーして動作させることはできません。特定のルーターに含まれているプロセッサー用にコンパイルし、BusyBoxで動作するように設計する必要があります。
ただし、ルーター用にコンパイルされた多くのパッケージがあり、OpenWRTプロジェクトによって作成され、DD-WRTに含まれるipkg
と呼ばれるパッケージマネージャーでインストールできます(この回答を書いているときに別のユーザーが示したように)。 ipkg
ドキュメント には ipkg
コマンドの使用方法 および DD-WRTのパッケージのいくつかのソース 。
Openwrtからipkgパッケージツールを使用できます: http://www.dd-wrt.com/wiki/index.php/Ipkg
dd-wrtのmicro
バージョンのいずれかである場合、sshとscpが使用できないため、オプションが制限されます。かなり信頼できる方法を1つ見つけましたif Webサーバーとして使用できるマシンにアクセスできます。ファイルをWebサーバーにコピーし、dd-wrtボックスからwget
します。
jcomeau@aspire:~/rentacoder/jcomeau/ddwrt$ dd if=/dev/urandom bs=256 count=1 of=/tmp/test.dat
1+0 records in
1+0 records out
256 bytes (256 B) copied, 0.0012205 s, 210 kB/s
jcomeau@aspire:~/rentacoder/jcomeau/ddwrt$ scp /tmp/test.dat unixshell.jcomeau.com:/var/www/jcomeau/
test.dat 100% 256 0.3KB/s 00:00
jcomeau@aspire:~/rentacoder/jcomeau/ddwrt$ telnet 192.168.151.1
Trying 192.168.151.1...
Connected to 192.168.151.1.
Escape character is '^]'.
DD-WRT v24-sp2 micro (c) 2009 NewMedia-NET GmbH
Release: 10/10/09 (SVN revision: 13064)
plinksys login: root
Password:
==========================================================
____ ___ __ ______ _____ ____ _ _
| _ \| _ \ \ \ / / _ \_ _| __ _|___ \| || |
|| | || ||____\ \ /\ / /| |_) || | \ \ / / __) | || |_
||_| ||_||_____\ V V / | _ < | | \ V / / __/|__ _|
|___/|___/ \_/\_/ |_| \_\|_| \_/ |_____| |_|
DD-WRT v24-sp2
http://www.dd-wrt.com
==========================================================
BusyBox v1.13.4 (2009-10-10 04:23:29 CEST) built-in Shell (ash)
Enter 'help' for a list of built-in commands.
\u@\h:\w\$ cd /tmp
\u@\h:\w\$ wget http://unixshell.jcomeau.com/test.dat
Connecting to unixshell.jcomeau.com (207.210.74.124:80)
\u@\h:\w\$ wc test.dat
0 6 256 test.dat
\u@\h:\w\$
反対のことを行う、つまりルーターからバイナリをダウンロードするには、dd-wrt httpd
デーモンによって/ userにマップされる/ tmp/wwwディレクトリを利用できます。 .gif
拡張子を使用して、httpdがそれを変更しようとしないようにします(.asp
拡張子の場合のように)。
jcomeau@aspire:~/rentacoder/jcomeau/ddwrt$ telnet 192.168.151.1
Trying 192.168.151.1...
Connected to 192.168.151.1.
Escape character is '^]'.
DD-WRT v24-sp2 micro (c) 2009 NewMedia-NET GmbH
Release: 10/10/09 (SVN revision: 13064)
plinksys login: root
Password:
==========================================================
____ ___ __ ______ _____ ____ _ _
| _ \| _ \ \ \ / / _ \_ _| __ _|___ \| || |
|| | || ||____\ \ /\ / /| |_) || | \ \ / / __) | || |_
||_| ||_||_____\ V V / | _ < | | \ V / / __/|__ _|
|___/|___/ \_/\_/ |_| \_\|_| \_/ |_____| |_|
DD-WRT v24-sp2
http://www.dd-wrt.com
==========================================================
BusyBox v1.13.4 (2009-10-10 04:23:29 CEST) built-in Shell (ash)
Enter 'help' for a list of built-in commands.
\u@\h:\w\$ wc /dev/mtd/*
751 12148 262144 /dev/mtd/0
751 12148 262144 /dev/mtd/0ro
11671 68047 3866624 /dev/mtd/1
11671 68047 3866624 /dev/mtd/1ro
4306 24098 1098752 /dev/mtd/2
4306 24098 1098752 /dev/mtd/2ro
0 551 65536 /dev/mtd/3
0 551 65536 /dev/mtd/3ro
4640 29046 2097152 /dev/mtd/4
4640 29046 2097152 /dev/mtd/4ro
42736 267780 14780416 total
\u@\h:\w\$ cp /dev/mtd/0ro /tmp/www/cfe.gif
\u@\h:\w\$ Connection closed by foreign Host. [after typing Ctrl-D]
jcomeau@aspire:~/rentacoder/jcomeau/ddwrt$ wget -O/tmp/cfe.bin http://192.168.151.1/user/cfe.gif
--2014-06-15 23:53:54-- http://192.168.151.1/user/cfe.gif
Connecting to 192.168.151.1:80... connected.
HTTP request sent, awaiting response... 200 Ok
Length: 262144 (256K) [image/gif]
Saving to: ‘/tmp/cfe.bin’
100%[======================================>] 262,144 963KB/s in 0.3s
2014-06-15 23:53:54 (963 KB/s) - ‘/tmp/cfe.bin’ saved [262144/262144]