ubuntu下安裝:sudo apt-get install socat
socat是乙個netcat(nc)的替代產品,可以稱得上nc++。socat的特點就是在兩個流之間建立乙個雙向的通道。socat的位址型別很 多,有ip, tcp, udp, ipv6,pipe,exec,system,open,proxy,openssl,等等。看乙個例子:
socat - tcp:192.168.1.18:80
這個命令等同於 nc 192.168.1.18 80。 socat裡面,必須有兩個流,所以第乙個引數-代表標準的輸入輸出,第二個流連接到192.168.1.18的80埠。再看乙個反向telnet的例子:
on server:
socat tcp-listen:23 exec:cmd,pty,stderr
這個命名把cmd繫結到埠23,同時把cmd的stderr重定向到stdout。
on client:
socat readline tcp:server:23
連線到伺服器的23埠,即可獲得乙個cmd shell。readline是gnu的命令列編輯器,具有歷史功能。
再看檔案傳遞的例子。nc也經常用來傳遞檔案,但是nc有乙個缺點,就是不知道檔案什麼時候傳完了,一般要用ctrl+c來終止,或者估計乙個時間,用-w引數來讓他自動終止。用socat就不用這麼麻煩了:
on host 1:
socat -u open:myfile.exe,binary tcp-listen:999
on host 2:
socat -u tcp:host1:999 open:myfile.exe,create,binary
這個命令把檔案myfile.exe用二進位制的方式,從host 1 傳到host 2。-u 表示資料單向流動,從第乙個引數到第二個引數,-u表示從第二個到第乙個。檔案傳完了,自動退出。
再來乙個大家喜歡用的例子。在乙個nat環境,如何從外部連線到內部的乙個埠呢?只要能夠在內部執行socat就可以了。
外部:socat tcp-listen:1234 tcp-listen:3389
內部:socat tcp:outerhost:1234 tcp:192.168.12.34:3389
這樣,你外部機器上的3389就影射在內部網192.168.12.34的3389埠上。
socat還具有乙個獨特的讀寫分流功能,比如:
這個命令實現乙個假的web server,客戶端連過來之後,就把read.txt裡面的內容發過去,同時把客戶的資料儲存到write.txt裡面。」!!」符號使用者合併讀寫流,前面的用於讀,後面的用於寫。
1、串列埠**
socat udp4-listen:11161,reuseaddr,fork udp:[監控伺服器ip]:161
udp4-listen:在本地建立的是乙個udp ipv4協議的監聽埠;
reuseaddr,繫結本地乙個埠;
fork,設定多鏈結模式,即當乙個鏈結被建立後,自動複製乙個同樣的埠再進行監聽
at串列埠/dev/ttyusb1對映到5555埠:
socat -d -d /dev/ttyusb1,raw,nonblock,ignoreeof,cr,echo=0 tcp4-listen:5555,reuseaddr
**到minicom終端: socat /dev/ttyusb1,raw,nonblock,ignoreeof,cr,echo=0 /dev/ttys1,raw
**到終端(電腦端): socat /dev/ttyusb1,raw,nonblock,ignoreeof,cr,echo=0 /dev/tty,raw
2、網路**
socat tcp4-listen:188,reuseaddr,fork tcp4:192.168.1.22:123 &
(在本地監聽188埠,並將請求**至192.168.1.22的123埠)
tcp4-listen:在本地建立的是乙個tcp ipv4協議的監聽埠;
reuseaddr:繫結本地乙個埠;
fork:設定多鏈結模式,即當乙個鏈結被建立後,自動複製乙個同樣的埠再進行監聽
socat啟動監聽模式會在前端占用乙個shell,因此需使其在後台執行。
socat 的神奇使用方式
目的是實現科 學 上 網,現在記錄一下流程 先在伺服器上安裝 比如美國,香港,台灣,馬來的雲主機 squid,easy rsa,centos 下可以用yum直接安裝 yum install openvpn cp usr share openvpn easy rsa 2.0 easy rsa cd e...
Vim 使用筆記
set hlsearch set nohlsearch 搜尋後清除上次的加亮 nohl nohlsearch 拷貝 很有用的一句話,規定了格式選項,讓它換行不自動空格 set formatoptions tcrqn set fo r set noautoindent 再 shift insert 正...
xemacs使用筆記
xemacs使用筆記 xemacs emacs的下一代,由lucid原創 from debian參考手冊.由於不知道什麼時候刪掉了emacs的乙個重要檔案.每次都沒法安裝好.突然發現了xemacs,於是決定使用看看.本人還是菜鳥,僅供交流 我使用的ubuntu系統,所以就直接apt get inst...