linux ppp漏洞,Linux下ppp拨号的实现(Arm)
Linux發行版自帶PPP撥號需要的pppd和chat命令,以2.6.18內核的Linux虛擬機為例,在/usr/sbin目錄下,/etc/ppp目錄也已自動創建。參考模權創建撥號腳本ppp-on,ppp-off,ppp-on-dialer三個文件,on&off放在/usr/sbin目錄下,ppp-on-dialer放在/etc/ppp目錄下,執行ppp-on腳本,如果設備已連接并成功驅動,即可獲得IP地址。ppp-on腳本也可以定義傳用參數,如撥號串口、電話號碼、用戶名、密碼等。
Arm開發板中要實現ppp撥號:首先要確認內核提供了ppp協議的支持;然后下載ppp-2.4.4b1.tar.gz進行交叉編譯,得到pppd、pppdump、pppstats、chat四個必需的撥號程序,下載到開發板;然后編寫腳本,與虛擬機上的流程相同,執行撥號腳本即可連接網絡。
開發板中實現撥號需要注意的問題:
1、內核配置
執行 #make menuconfig 添加如下內核選項:
Device Drivers ---> Network device support
--->
PPP (point-to-point protocol)
support
[*]?PPP multilink support
PPP support for async serial
ports
PPP support for sync tty
ports
SLIP (serial line) support
[*]?CSLIP compressed
headers
添加完成后保存并退出,執行 # make uImage。將成功生成的uImage燒入開發板。
2、交叉編譯
進入ppp-2.4.4.tar.gz的目錄執行解壓命令 #tar zxf ppp-2.4.4.tar.gz,解壓后出現
ppp-2.4.4 文件夾,進入該目錄( #cd ppp-2.4.4 ),執行配置命令 #./configure,然后執行 #make
CC=arm-linux-gcc (后面的CC表示交叉編譯器目錄)。
編譯完成后,復制如下文件到開發板對應目錄。
以下$(PPP)為 計算機上ppp-2.4.4 的目錄 ,$(EMB_BIN)代表 開發板中的 /bin
目錄,$(EMB_ETC)代表開發板中的 /etc 目錄
#cp $(PPP)/chat/chat $(EMB_BIN)
#cp $(PPP)/pppd/pppd $(EMB_BIN)
#cp $(PPP)/pppdump/pppdump $(EMB_BIN)
#cp $(PPP)/pppstats/pppstats $(EMB_BIN)
#mkdir $(EMB_ETC)/ppp
#cp $(PPP)/etc.ppp/* $(EMB_ETC)/ppp
#cp $(PPP)/scripts/ppp-on?$(EMB_BIN)
#cp $(PPP)/scripts/ppp-off?$(EMB_BIN)
#cp
$(PPP)/scripts/ppp-on-dialer?$(EMB_ETC)/ppp
注意,后三項為腳本文件。可根據模板手動編寫。
3、注意事項
我在調試過程中,完成這些步驟,成功驅動模塊,并在/dev下創建了ttyUSB0~2三個串口,但調用[./ppp-on
/dev/ttyUSB0 “#777” card card]撥號時提示需要調用“mknod ppp c 108
0”創建ppp結點,由于自己的失誤,以為應該創建為188,結果再次撥號提示不能綁定到ppp通道,查看pppd源代碼也未找到問題的的原因,后來發現/proc/devices下有ID號為108的ppp設備,所以應該以108為主設備號創建節點,然后成功連接到網絡并獲得IP地址。
總結
以上是生活随笔為你收集整理的linux ppp漏洞,Linux下ppp拨号的实现(Arm)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: esrgan_港中文-商汤联合实验室:E
- 下一篇: ubuntu apache2 mysql