问题标签 [socat]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
tcp - 使用 socat 将一个 TTY 流中继到多个 TCP/IP 目的地,以及一个“嗅探器”程序
使用嵌入式 Linux 开发板,我需要组合一个小部件来执行以下操作:
- 通过物理串行端口读取数据包,并将这些数据包中继到多个 IP 地址(最多 20 个;IP 目标从配置文件中读取)。
- 还可以使用自定义程序“嗅探”那些串行数据包,可能是用
c
.
作为具有编程背景的人,(对我来说)最明显的解决c
方案是从头开始创建一个程序来实现上述目标。然而,因为这是我需要快速整理的东西,而且因为我需要一个借口来了解更多关于现有 Linux 命令行程序和脚本编写(我不太擅长)的信息,所以我想知道是否有很多这可以通过现有的命令行程序和 shell 脚本来实现。然后,我从头开始编写的唯一部分是我的数据包嗅探器(调用它sniffer.c
)。
我理解这一点,netcat
并且socat
可以用于设备和地址之间的中继,并且我已经开始尝试两者。socat
我突然想到,我可以通过运行多个实例来将串行数据从 TTY 端口中继到远程 IP 地址,从而避免开发和测试 TCP/IP 软件。每个实例都socat
可以处理一个特定的远程 IP 地址。
这听起来是否可行,如果是这样,我如何有效地“多路复用”来自/dev/ttyS0
(例如)的流作为多个实例的源socat
加上一个实例sniffer.c
?一种方法是将读取的数据中继/dev/ttyS0
到缓存文件,然后让我的socat
实例和sniffer.c
所有人都对该文件具有只读访问权限吗?
python - 如何使用 bind_unix_sock 做 Tornado HTTPServer?
我有一个简单的服务器。如果我做一个普通的套接字它可以工作,但如果我尝试使用一个 unix 套接字,我认为它不起作用。
这是服务器:
这是我的测试方式:
服务器没有给出任何响应。
知道我做错了什么吗?
serial-port - Socat Windows serial port access
I want to root my serial COM10 to LAN --> LAN to COM12
I therefor need the equivalent command for windows version of socat:
What do I have to enter under Windows instead of /dev/ttyS0 if I want to access my COM10?
Sender : socat -d -d -d TCP4:loalhost:23000 /dev/ttyS1
Receiver: socat -d -d -d TCP4-LISTEN:23000 /dev/ttyS2
Thank in advance!
linux - 双向套接字到 tcp 通信
我有一个软件 X 监听和写入 TCP 端口。即它创建一个服务器套接字和一个读取和写入 TCP 的客户端。
我有一个串行设备 ttyUSB0,它可以接受提供软件 X 格式的数据并将数据发送回串行。
我想将数据从串行传输到 TCP,反之亦然,这样它对软件 X 和串行 ttyUSB0 看起来是透明的。
我试图使用socat。喜欢,
但它似乎不起作用。看起来好像 TCP 端口上的侦听器阻止绑定。我有
E bind(3, {AF=2 0.0.0.0:7758}, 16): 地址已经在使用
有人可以帮我解决我的问题吗?
sockets - 带有虚拟 tty 链接和 fork 的 socat 删除了我的 pty 链接
我需要能够将 tcp 连接多路复用到单个虚拟 tty,以测试通过串行端口通信的软件。我一直在使用以下命令创建一个侦听 tcp 端口的服务器,然后将数据转发到 PTY。
我的问题是当端口 11313 上的 tcp 客户端断开连接时,socat 删除了我到 /dev/ttyV1 的链接,从而终止了与其他所有连接的人的会话。
有没有办法保留这个链接?或者也许在 socat 之外创建一个伪 tty,这样我就不必担心维护它?我已经尝试过 /dev/tty1 和 /dev/ttyS1 并且我没有任何运气。我对这些的命令是:
我的要求:能够在一端连接一个软件到一个串行tty,然后在另一端连接多个tcp客户端。Tcp 客户端消息传递被正确序列化和多路复用,因此消息不会相互重叠。
c++ - 在 Linux 上使用 SOCAT 与 USB 进行串行通信
我想澄清一下 socat 对串行通信的作用,因为由于某种原因,我只能在使用 socat 时让与我的 Arduino 的通信正常工作。
这是我用来设置 socat 的命令:
我在 C++ 中使用的代码是:
因此,当我通过 socat 运行此程序时,arduino 会做出应有的反应,但如果我将 open() 行从 /tmp/serial 更改为 /dev/ttyACM0,则 arduino 将不再执行。有人可以向我解释一下 socat 对数据做了什么以使事情正常进行,以及如何更改我的 C 代码来做同样的事情?我不能在我的最终实现中使用 socat,因为它会导致延迟,使我的机器人无法预测。
c - C语言中的socat和ioctl
在 Debian 7 上,我使用 socat 作为调制解调器:
我试着知道行(语言 C)的 dcd:
ioctl 的返回值为 -1 且 errno=22(无效参数)
我可以使用TIOCMGET
socat 之类的特殊命令吗?
(我尝试在 srv-modem 上使用相同的代码,没关系)
bash - 通过 socat bash 网络服务器通过 http 发送图像
我正在尝试使用 socat 在 bash 中编写网络服务器。我在处理图片请求时遇到了问题。我正在打开 socat 监听连接,如下所示:
我使用以下内容提供图像,其中 $1 是 docroot,$2 是图像文件名。
由于“包含错误”,该图像无法在 Firefox 中显示。我在控制台得到以下输出。
我见过使用 netcat 的类似脚本,但我无法使用 socat 让它工作。我想继续使用 socat,因为它具有分叉和处理多个连接的能力。任何见解将不胜感激。
linux - netcat/socat 作为 http 拦截代理
我听说 socat/netcat 可以用作代理服务器,它能够重定向到另一个代理服务器。
但在我的情况下,我想通过一些 http 标头操作来“欺骗”它。
所以我的目标是使用 netcat/socat 作为 localhost“http CONNECT”代理服务器,它能够读取并重建客户端的 http 请求,然后将其重定向到外部 squid 代理服务器。
在搜索了几个小时后,我找不到任何示例如何实现这一点。
有可能吗?如果是,那么如何?因为我是 netcat/socat 的新手。
谢谢你。
qt - 用 Qt 打开 SOCAT 创建的虚拟串口
我正在 MacOS 上开发 Qt5 应用程序。
我想测试我的应用程序串行端口通信。
我想使用socat但我无法打开使用 socat 创建的端口:QSerialPortInfo::availablePorts()仅列出/dev/cu-XXXXXX端口...