目錄
通過/dev/tcp、/dev/udp
(https://blog.csdn.net/u010039418/article/details/86251470)
通過/dev/tcp、/dev/udp可以直接在shell腳本中發起tcp、udp連接,方便又高效,平時用於測試啥的還是挺方便的。
直接發送
格式 /dev/udp/ip/port
比如要向本地10001端口發送數據,可以使用
echo "hello" > /dev/udp/localhost/10001
該方法的好處在於,發送完數據后自動退出。當我們需要在命令行下循環向特定udp端口發送數據時,我們只能使用方法二。
例如
while true
do
echo "xxxx" > /dev/udp/localhost/10001
done
鏈接:https://www.jianshu.com/p/b55f3aa77b07
先建立連接
exec 9<>/dev/tcp/10.100.70.139/19006
echo -e "stats" >&9
exec 9>/dev/tcp/192.168.0.136/5000
其中9為執行的文件描述符。這里>重定向符表示該文件描述符只能寫入,如果想讀取,可使用一下命令,
exec 9<>/dev/tcp/192.168.52.136/5000
至於關閉連接,則通過以下命令,
exec 9>&-
exec 9<&-
原文鏈接:https://blog.csdn.net/u010039418/article/details/86251470
shell給tcp或udp服務發送16進制報文指令
指令:
(sleep 2;echo "000F737D61747573" | xxd -r -p ;sleep 1)|nc 192.168.137.1 15000|hexdump -C
說明:上面為tcp示例(給nc添加參數-u可改為udp,但沒驗證,理論上可行)
示例功能:給192.168.137.1上的15000端口tcp服務發送16進制報文內容000F737D61747573並將響應報文以16進制格式回顯出來