前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >socat介绍「建议收藏」

socat介绍「建议收藏」

作者头像
全栈程序员站长
发布于 2022-07-23 04:35:04
发布于 2022-07-23 04:35:04
1K0
举报

大家好,又见面了,我是你们的朋友全栈君。

socat是一個netcat(nc)的替代產品,可以稱得上nc++。socat的特點就是在兩個流之間建立一個雙向的 通道。socat的地址類型很 多,有ip, tcp, udp, ipv6, pipe,exec,system,open,proxy,openssl,等等。看一個例子:

c:\>socat – tcp:192.168.1.18:80

這個命令等同於 nc 192.168.1.18 80。 socat裡面,必須有兩個流,所以第一個參數-代表標準的輸入輸出,第二個流連接到192.168.1.18的80端口。再看一個反向telnet的例子:

on server: c:\>socat tcp-listen:23 exec:cmd,pty,stderr

這個命名把cmd綁定到端口23,同時把cmd的Stderr重定向到stdout。

on client: c:\>socat readline tcp:server:23

連接到服務器的23端口,即可獲得一個cmd shell。readline是gnu的命令行編輯器,具有歷史功能。

再看文件傳遞的例子。nc也經常用來傳遞文件,但是nc有一個缺點,就是不知道文件什麼時候傳完了,一般要用Ctrl+c來終止,或者估計一個時間,用-w參數來讓他自動終止。用socat就不用這麼麻煩了:

on host 1: c:\>socat -u open:myfile.exe,binary tcp-listen:999

on host 2: c:\>socat -u tcp:host1:999 open:myfile.exe,create,binary

這個命令把文件myfile.exe用二進制的方式,從host 1 傳到host 2。-u 表示數據單向流動,從第一個參數到第二個參數,-U表示從第二個到第一個。文件傳完了,自動退出。

再來一個大家喜歡用的例子。在一個NAT環境,如何從外部連接到內部的一個端口呢?只要能夠在內部運行socat就可以了。

外部: c:\>socat tcp-listen:1234 tcp-listen:3389

內部: c:\>socat tcp:outerhost:1234 tcp:192.168.12.34:3389

這樣,你外部機器上的3389就影射在內部網192.168.12.34的3389端口上。

socat還具有一個獨特的讀寫分流功能,比如:

c:\>socat open:read.txt!!open:write.txt,create,append tcp-listen:80,reuseaddr,fork

這個命令實現一個假的web server,客戶端連過來之後,就把read.txt裡面的內容發過去,同時把客戶的數據保存到write.txt裡面。”!!”符號用戶合併讀寫流,前面的用於讀,後面的用於寫。

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/126235.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年4月7,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
C#-笔记-面向对象-第一章
我們把這些具有相同屬性和相同的方法的對象進一步的封裝,抽象出來類這個概念,類就是模子,確定了對象應該具有的屬性和方法。 對象是根據類創建出來的。
用户9857551
2022/06/28
3160
C#-笔记-面向对象-第一章
linux 信号sigabrt,關於Linux中的SIGABRT信號
SIGABRT是中止一個程序,它可以被捕捉,但不能被阻塞。處理函數返回后,所有打開的文件描述符將會被關閉,流也會被flush。程序會結束,有可能的話還會core dump。 當程序調用abort(3)時,該進程會向自己發送SIGABRT信號。所以,SIGABRT一般用於信號中一些關鍵的處理,assert失敗時也會使用它。你不應該去捕捉SIGSEGV和SIGABRT信號,如果收到這種信號,說明進程處於一個不確定的狀態,很可能會直接掛起。
全栈程序员站长
2022/07/23
2.8K0
主动学习与被动学习
美國學者艾德格‧戴爾(Edgar Dale)提出了「學習金字塔」(Cone of Learning)的理論:在初次學習兩個星期後,透過閱讀學習能夠記住內容的10%;透過聽講學習能夠記住內容的20%;透過圖片學習能夠記住內容的30%;透過影像、展覽、示範、現場觀摩來學習能夠記住50%;參與討論、提問、發言來學習能夠記住70%;做報告、教學、模擬體驗、實際操作能夠記住90%。美國緬因州國家訓練實驗室(National Training Laboratories)做過類似的研究,結論跟戴爾差不多。由此可知,閱讀是最沒用的學習方式,而模擬、體驗與實作才是最好的學習方式。是嗎?
超蛋lhy
2018/08/31
1.7K0
主动学习与被动学习
Express.js 4.0 有加入一個新的 Router 功能
Express.js 4.0 有加入一個新的 Router 功能,它就像一個迷你的應用程式,可以讓應用程式內部的路由撰寫更方便、更有彈性。 Express.js 在 4.0 版中有許多新的功能,其中一項主要的功能就是 Router,以下我們介紹如何使用 Router 功能來撰寫應用程式。 基本應用程式 首先建立一個 package.json 檔案,定義套件的相依資訊: { "name": "express-router-experiments", "main": "server.js",
前朝楚水
2018/04/03
1.1K0
Express.js 4.0 有加入一個新的 Router 功能
區塊鏈在網絡安全中的應用
通過數字化日常生活的各個方面逃離現實世界危險的人們開始意識到,與離線相比,互聯網不再是一個安全的地方。在2018年,我們看到了網絡犯罪分子造成的許多災難性故障,看起來在即將到來的一年中,我們將會有更多的故障。 幸運的是,黑客並不是唯一一個正在開發其電力庫的人 - 多年來,網絡安全中的區塊鏈一直在增長,並在所有可能的行業中得到開發。儘管該技術僅用於存儲加密貨幣比特幣,但其影響和影響現在已經擴散到更多不同的領域。在本文中,我們將討論Blockchain在2019年的含義,為您提供安全性中Blockchain的一些用例。
用户4624829
2019/02/15
3540
ios苹果app上架流程
什麼都是假的,只有 App 上架 Store 才是真的。千辛萬苦完成 App 後,下一步、也是最重要的一步,就是把 App 送審上架!為了讓新手都能一次就送審成
iOS程序应用
2023/02/10
1.4K0
ios苹果app上架流程
[ISUX譯]Touch bar 設計指南
導語:日前蘋果發布會上,最大的亮點之一當屬替代一欄功能鍵的Touch bar。本文包括有5個小節,詳細介紹了Touch bar設計原則、新特性和基本元素 ,一起來學習。 Touch bar概述 Touch Bar是位於新一代MacBook Pro鍵盤上方的一條 Retina 顯示屏,同時也是與主屏幕內容交互提供動態操作界面的輸入設備。基於當前語境,Touch Bar的這些控件能對系統或應用的功能進行快速訪問。 例如,當用戶在編輯文檔時,Touch Bar可提供調整字體類型和大小的控件。 當用戶查看地圖時,T
腾讯ISUX
2018/06/29
8730
【ES三周年】基于ELK的日志分析服务
本專題作品開發一套基於ELK的日誌分析服務,提供多種日誌類型解析及對應的可視化功能。目前提供的日誌類型分別為系統日誌(syslog)、網功能變數名稱稱系統日誌(dnslog)及網頁伺服器日誌(nginxlog),可視化功能包含圖表呈現和文字說明等。
sh1mwww
2023/02/15
1.3K0
計算機程序設計:7大編程原則
編程的工作同石匠的工作相類似,即是技術活,也是體力活,而編寫優秀的軟件,算是一件比較難的事。編程大牛們並不是直接上手編寫,而是根據需求進行設計,不但將代碼中 Bug 出現的機率降到最低,還要讓代碼具有高可讀性,高安全性等等。
一个会写诗的程序员
2020/09/01
5990
web 开发规则,代码规范
參數取得需透過 filter_input 函數取得,不得使用 _GET、 _POST
Cell
2022/02/25
7760
C#-筆記-基礎
/r/n win系統輸出的回車 Ctrl+k+d 快速對齊 Ctrl+k+c 快速注釋 Ctrl+k+u 快速取消注釋
用户9857551
2022/06/28
4900
C#-筆記-基礎
中文文案排版指北
「有研究顯示,打字的時候不喜歡在中文和英文之間加空格的人,感情路都走得很辛苦,有七成的比例會在 34 歲的時候跟自己不愛的人結婚,而其餘三成的人最後只能把遺產留給自己的貓。畢竟愛情跟書寫都需要適時地留白。
acc8226
2022/05/17
7180
RESTful
HTTP 状态码(HTTP Status Code)是用以表示网页服务器 HTTP 响应状态的 3 位数字代码。所有状态码的第一个数字代表了响应的五种状态之一。 除非另有说明,状态码是 HTTP / 1.1 标准(RFC 7231)的一部分。
Cell
2022/02/25
8360
Using Automake and Autoconf「建议收藏」
Murray Cumming <murrayc@usa.net> Chen Chih-Chia <pigfoot@CDPA.nsysu.edu.tw>
全栈程序员站长
2022/07/25
4280
正確使用 SetCapture ReleaseCapture [譯]「建议收藏」
原文鏈接: http://www.codeproject.com/Tips/127813/Using-SetCapture…correctly.aspx 原作者: pasztorpisti 轉載請註明出處:http://www.imoldman.com/2010/11/30/ using-setcaptu…ture-correctly
全栈程序员站长
2022/09/01
4990
从数据到AI
信息是一個客觀存在物體的自然表現,比如說“I am a local villain.”,無論你用什麼語言、什麼方式表示他都是客觀存在的,而信息即是承載這些客觀實體的概念載體。雖然香濃知道20世紀中才提出了信息輪,但是信息自古就有,與算機系統的出現無關,比如遠古結繩記事、早期文明的甲骨文、中世紀文明的簡牘等等,但是直道現代才理論化。
随风溜达的向日葵
2019/11/21
5280
从数据到AI
催生超低功耗邊緣AI應用 tinyML賦予MCU產業新契機
物聯網(IoT)相關技術不斷向前演進,加上節能減碳意識抬頭,使得人工智慧(AI)也從雲端走向邊緣端,僅需mW等級的超低功耗就能進行機器學習(Machine Learning,ML)的「微型機器學習」(tinyML)概念應運而生,近年相關技術發展飛快,擠身熱門前瞻技術之列。運用微控制器(MCU)為邊緣裝置(Edge Device)裝上大腦,將有機會讓電子貨架標籤、感測器等邊緣裝置上,也能增添智慧應用。
用户6026865
2022/09/02
7050
催生超低功耗邊緣AI應用 tinyML賦予MCU產業新契機
淺談晶片實體設計-競爭力(Competitiveness)
题记:本文是 funBroad 系列文章的第一篇,中心思想还是,在头部企业可以吃更多『设计余量』红利时,老二老三老四老五跟老小们怎么跟随,怎么提高自身竞争力——最后一段标红部分可细读。
老秃胖驴
2020/05/22
7580
GO实现简单(命令行)工具:sftp,文檔压解,RDS备份,RDS备份下载
轉載請註明出處:https://www.cnblogs.com/funnyzpc/p/11721978.html
上帝
2019/10/28
2.8K0
第一性原理 《禅与计算机程序设计艺术》 / 陈光剑
第一性原理(First Principle Thinking),指的是回歸事物最基本的條件,將其拆分成各要素進行解構分析,從而找到實現目標最優路徑的方法。
一个会写诗的程序员
2021/04/20
1.2K0
第一性原理 《禅与计算机程序设计艺术》 / 陈光剑
相关推荐
C#-笔记-面向对象-第一章
更多 >
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文