holer 是乙個內網穿透工具,基於holer,可以通過ssh,連線處於內網的arm40裝置。
當有大量裝置執行時,需要掌握 holer 服務的執行狀態。
建議在ubuntu上執行本探測程式。並且需要安裝 expect,例如 apt install expect。
探測程式共包含3個檔案:
holer.list holer_online_check.sh ssh_expect.sh
其中 holer.list 中為需要檢查的holer埠號的列表,例如:
#holerlist
port1=63001
port2=63013
port3=63017
port4=63021
port5=65039
port6=63023
port7=635646
ssh_expect.sh 檔案內容如下:
#!/usr/bin/expect
set port [lindex $argv 0]
set timeout 30
spawn ssh -o batchmode=yes -p $port [email protected]
expect eof
exit
holer_online_check.sh 檔案內容如下:
#!/bin/sh
dir=`pwd`
holer_dir="$dir/holer.list"
port=null
if [ -e $holer_dir ]; then
cat $holer_dir
echo
cat $holer_dir | while read eachline
doport=`echo $eachline | awk '/port/ ' | cut -d '=' -f 2`
if [ "$port" != "" ]; then
$dir/ssh_expect.sh $port | while read holeret
doecho $holeret | \
echo $holeret | \
awk '/permission/ \
/connection/ \
/bad/ \
/host key/ \
/authenticity/ '
done
fidone
fi
holer_online_check.sh 解析:
(1)從holer.list檔案逐個獲取埠號,例如 port=「63001」;
(2)執行 ssh_expect.sh 63001,其中主要是
ssh -o batchmode=yes -p 63001 [email protected]
(3)holer_online_check.sh 讀取返回結果,返回的字串可能如下:
ret: permission denied (publickey,password,keyboard-interactive). #holer通
ssh_exchange_identification: connection closed by remote host #holer不通
ssh_exchange_identification: read: connection reset by peer #holer不通
ssh: connect to host holer.org port 65013: connection refused #holer不通
ssh_exchange_identification: connection timed out #超時,建議重試
host key verification failed. #通,可手動登入更新esa
the authenticity of host '[holer.org]: ([121.196.199.47]:)' can't be established. #需手動登入更新esa
bad port '630112' #埠號有誤
(3)根據返回結果,判斷holer服務的狀態:ok、nok 或 bad。
執行 holer_online_check.sh,測試如下:
#holerlist
port1=63001
port2=63013
port3=63017
port4=63021
port5=65039
port6=63023
port7=635646
63001 nok
63013 ok
63017 ok
63021 ok
65039 ok
63023 nok
635646 bad
可見:
63001、63023 不通;
63013、63017、63021、65039 通;
635646埠有誤。
ARM40 A5D27應用程式 串列埠應用程式示例
本文為串列埠應用程式示例,測試板為arm40 a5d27.將串列埠 ttys5 的tx rx腳短接,然後 cat dev ttys5 echo 123abc dev ttys5 可以看到ttys5返回123abc檔名為 test uart.c,見本文附錄 1 arm linux gnueabihf ...
h5離線應用
在chorme瀏覽器下,可以訪問 http cache 位址 chrome cache 檢視兩者。需要注意的是,清單上的檔案路徑不能有錯,只要乙個有錯,所以檔案都不會離線儲存。第二步是,在需要離線的網頁的標籤上增加manifest屬性,指向上面的清單檔案。在chorme瀏覽器下,可以按f12開啟除錯...
ARM40 A5 GCC交叉編譯環境搭建
準備 2 解壓編譯工具鏈 將編譯工具鏈解壓到主機 opt目錄下。sudo xz d gcc linaro 4.9.4 2017.01 x86 64 arm linux gnueabi tar.xz sudo tar xvf gcc linaro 4.9.4 2017.01 x86 64 arm li...