Linux
有什麼解決方案可以在 Linux 下製作互動式 TCP/UDP 伺服器嗎?
我需要一些像這樣的工具(稱為“TCP 測試工具”)用於 Linux。我不需要 GUI(即 GUI/CLI——這不是那麼重要),但我需要能夠製作一個可以在任何埠上偵聽、接收和發送原始(即十六進制轉儲)數據的伺服器。
嘗試
nc
從
man nc
nc — 任意 TCP 和 UDP 連接和監聽
socat是一種複雜的工具,可以將幾乎任何東西雙向連接到幾乎任何其他東西。特別是,您可以讓它在埠上偵聽連接,在連接時執行程序,將數據發送給它,並將輸出返回到套接字。例如:
socat TCP4-LISTEN:3344,reuseaddr,fork EXEC:/tmp/runme,pty
將執行一個腳本,
/tmp/runme
例如:#!/bin/bash trap 'echo sigterm >&2;exit' TERM echo "start" >&2 while read line do echo "got $line" done
您可以在其中對數據做任何您喜歡的事情,例如在這裡返回帶有前綴“got”的數據。您可以使案例如
telnet localhost 3344
或echo hi | socat - TCP4:localhost:3344
如果你需要對 udp 做同樣的事情,你可以嘗試,例如:
socat UDP-RECVFROM:3344,fork EXEC:/tmp/runme,pty
您只會收到一個數據包,但您仍然會收到任何回复。測試它,例如:
echo hi | socat - UDP-SENDTO:localhost:3344
如果你只想讓你的數據回顯,這個功能是內置
xinetd
的,你只需要啟用回顯服務。見man xinetd.conf
。如果要獲取頻寬統計資訊,請查看netperf工具。