Linux服務(wù)器用socat輕松實(shí)現(xiàn)TCP/UDP端口轉(zhuǎn)發(fā)
1、TCP端口轉(zhuǎn)發(fā)
socat -d TCP4-LISTEN:80,reuseaddr,fork TCP4:127.0.0.1:8080
2、UDP端口轉(zhuǎn)發(fā)
socat -T 600 UDP4-LISTEN:5353,reuseaddr,fork UDP4:114.114.114.114:53
3、文件傳輸
服務(wù)端:
socat -u open:FILENAME tcp-listen:12345
客戶端
socat -u tcp:ServerIP:12345 open:LOCALFILE,create
【說明】
-u 表示數(shù)據(jù)單向傳送,從第一個(gè)參數(shù)傳遞到第二個(gè)參數(shù);-U則表示從第二個(gè)參數(shù)傳送到第一個(gè)參數(shù)。 open 表示使用系統(tǒng)調(diào)用open()打開文件,不能打開unix域socket。 tcp-listen 表示監(jiān)聽tcp端口。 create 表示如果文件不存在則創(chuàng)建。 傳輸結(jié)束后兩端均退出。
4、讀寫分離
(使用!!符號,左側(cè)表示讀,右側(cè)表示寫)
socat open:hello.html!!open:log.txt,create,append tcp-listen:12345,reuseaddr,fork
【說明】
open:hello.html 表示讀hello.html文件。 open:log.txt 表示收到的數(shù)據(jù)寫入log.txt文件。 reuseaddr 見socket的SO_REUSEADDR。 fork 請求到達(dá)時(shí),fork一個(gè)進(jìn)程進(jìn)行處理。 在bash下,需要用對!進(jìn)行轉(zhuǎn)義。
海外服務(wù)器免費(fèi)測試:http://hbjsdrq.com/