socat,一個多功能的網絡工具,名字來源於SOcket CAT,是netcat的加強版,也就是netcat++(擴展了設計,並有新的實現)。python
推薦:socat官方文檔
以及 socat - Handling all Kinds of Sockets (pdf)linux
------------------------------------------------------------------------git
0x01 安裝github
# debian/ubuntu apt-get install socat # centos/redhat yum install -y socat
0x02 經過源碼安裝ubuntu
在centos或者redhat經過yum安裝後的socat,運行報錯:windows
E parseopts(): unknown option "tcpwrap"
這裏是版本沒編譯進去tcpwrap,先卸載當前socat後,再進行源碼編譯安裝:centos
(目前最新版本是1.7.3.3)緩存
yum install -y tcp_wrappers tcp_wrappers-devel readline-devel openssl-devel yum install -y gcc v=1.7.3.3 wget http://www.dest-unreach.org/socat/download/socat-${v}.tar.gz tar zxvf socat-${v}.tar.gz cd socat-${v} ./configure make && make install
0x03 windows版socat網絡
git clone https://github.com/StudioEtrange/socat-windows
(暫時不推薦用,存在各類問題)app
0x04 fork EXEC
將一個使用標準輸入輸出的單進程程序變爲一個使用fork方法的多進程服務
socat TCP4-LISTEN:2333,tcpwrap=script,reuseaddr,fork EXEC:"/usr/bin/env python2 -u pcat.py"
(其中TCP4-LISTEN可簡寫爲tcp-l,而python -u表示輸出不緩存)
0x05 其餘
socat的用途不少,可參見開頭列舉的文檔以及pdf,之後pcat有空再補充。