Bash Socket 程式設計

2021-09-01 03:47:20 字數 1787 閱讀 9432

bash socket 程式設計 

你可以在bash中開啟乙個socket鏈結,並且傳輸資料。bash有兩個特殊的裝置檔案:

• /dev/tcp/host/port - 如果hostname,和port是合法的話,bash會嘗試開啟乙個tcp連線。

• /dev/udp/host/port - 如果hostname和port是合法的話,bash會開啟乙個udp連線。

你可以利用這個技術來測試一台主機的埠是否是開啟的,而不需要使用nmap或者port掃瞄器:

view sourceprint?

1 # find out if tcp port 25 open or not

2 (echo >/dev/tcp/localhost/25) &>/dev/null && echo "tcp port 25 open" || echo "tcp port 25 close"

你可以 使用迴圈來查詢開著的埠:

view sourceprint?1 echo "scanning tcp ports..."

2 for p in

3 do

4 (echo >/dev/tcp/localhost/$p) >/dev/null 2>&1 && echo "$p open"

5 done

輸出:

scanning tcp ports...

22 open

53 open

80 open

139 open

445 open

631 open

下面的這個例子讓你的指令碼扮演http客戶端:

關於guitools和cronjob

如果你使用cronjob來呼叫你的指令碼的話,你要通過「 export display=[user's machine]:0 」命令來設定本地的 display/input 服務。例如呼叫 /home/vivek/scripts/monitor.stock.sh指令碼,它使用了 zenity 工具:

view sourceprint?

1 @hourly display=:0.0 /home/vivek/scripts/monitor.stock.sh

所有的命令你都可以通過「man」來查詢詳細的使用方式。

程式設計,還是程式設計

喜歡程式設計,雖然水平一般,但還是執著地學習與程式設計有關的知識。中間因為工作關係與程式設計遠離了一段時間,現在又重拾起來,細想起來還是因為喜歡吧。喜歡程式軟體的思想和原理,喜歡程式 的魅力和成就感。程式設計軟體的思想是最值得學習的,一直認為思想決定行動,思想改變世界。每種軟體的流行和受人追捧,無不...

少兒程式設計程式設計

機械人比賽,聽上去讓人有一種高大上的科技感,沒錯,在大多數人眼裡,玩機械人那是科學家做的事情,不過隨著機械人教育的普及,越來越多的孩子也能夠駕馭這高大上的機械人。格物斯坦小坦克告訴你原因,這是歸結於孩子對於程式設計課程的學習,學會對機械人進行程式設計了,自然就能玩轉機械人啦。參加機械人比賽的意義遠遠...

LINUX程式設計 socket程式設計

什麼是套接字 套接字是一種通訊過程,它使客戶 伺服器系統的開發工作既可以在本地單機上進行,也可以跨網路進行。套接字建立過程 1,建立乙個套接字,這是分配給該伺服器程序的乙個作業系統資源,套接字由伺服器通過系統呼叫socket建立出來的,所以其它程序將不能對它進行訪問。2,給套接字起個名字,用系統呼叫...