ARM40 A5應用 探測holer服務的狀態

2021-09-01 17:29:08 字數 2607 閱讀 2092

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...