如何在 Unix 上跟踪原始(字符)设备流?

发布于 2024-08-30 17:51:52 字数 501 浏览 10 评论 0原文

我正在尝试跟踪 Unix 系统上的原始(字符)设备(例如:/dev/tty.baseband)中传输的内容以进行调试。

我正在考虑创建一个守护进程:

  • 在开始时将 /dev/tty.baseband 重命名为 /dev/tty.baseband.old
  • 创建一个原始节点 /dev/tty.baseband
  • 生成两个线程:

  • 线程 1:读取 /dev/tty.baseband.old 写入 /dev/tty.baseband

  • 线程 2:读取 /dev/tty.baseband 写入 /dev/tty.baseband.old

这有点像 MITM过程。我想知道是否没有一种“标准”方法可以做到这一点。

I'm trying to trace what is transiting in a raw (character) device on an Unix system (ex: /dev/tty.baseband) for DEBUG purpose.

I am thinking of creating a deamon that would:

  • upon start rename /dev/tty.baseband to /dev/tty.baseband.old.
  • create a raw node /dev/tty.baseband
  • spawn two threads:

  • Thread 1: reading /dev/tty.baseband.old writing into /dev/tty.baseband

  • Thread 2: reading /dev/tty.baseband writing into /dev/tty.baseband.old

This would work a little bit like a MITM process. I wonder if there is not a 'standard' way to do this.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

み零 2024-09-06 17:51:52

没关系,我找到了怎么做。方法是:

  • 创建一个进程
  • 创建一个新的伪终端,打开 /dev/ptmx
  • 在从属设备上调用 grantpt 和 unlockpt
  • 重命名终端以 intecept
  • 重命名终端 创建 intecept 终端的先前名称

我写了一个小文章并提供源代码(如果有人需要):

http://fabiensanglad.net/cellphoneModem/index2.php

Nevermind I found how to do it. The way to go was to:

  • create a process
  • create a new pseudo-terminal, opening /dev/ptmx
  • call grantpt and unlockpt on the slave
  • rename the terminal to intecept
  • rename the terminal create the the previous name of the intecepted terminal

I wrote a small article and provided the source code if anyone need it:

http://fabiensanglard.net/cellphoneModem/index2.php

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文