【发布时间】:2011-04-02 05:09:03
【问题描述】:
我需要劫持和修改数据流。该流由固定宽度的命令组成。每个命令都是一个新行,文档说每个命令都以 STX/ETX 对(文本的开始和结束)开始和结束
发送系统正在使用串行,但被攻击到通过 IP 与我们的 PBX 通信的 iPocket 设备。据我所知,它只是将串行转换为 telnet,希望这能让事情变得非常简单。
我需要查找的字符串以NAM 开头。结构是这样的:
STX NAM EXT# LASTNAME,FIRSTNAME ETX
我需要用空格替换,FIRSTNAME,这样它就不会改变命令的长度。
我一直在尝试以下操作,虽然它根据需要在两个方向上端到端地传递数据,并删除所需的数据,但它并没有保持命令的长度。
ipocket <-> nc -kl 1100 | sed 's/,[^,]*/ /g' | nc target_ip target_port <-> PBX
我将使用 linux 机器来完成这项任务。我有理由确定这可以在 perl 或 python 中非常简单地完成,但我不知道从哪里开始。任何帮助将不胜感激!
【问题讨论】:
-
这是一些漂亮的 1337 东西,他们的布拉赫
-
如果你能发布一些明确而准确的东西,比如 Wireshark/Pcap 转储,或者至少是 hexdump,那将会很有帮助。模糊的问题只会得到模糊的答案。
-
@lesmana:是的,一模一样。标签除外。其中一个问题应该作为重复而结束。标签应该被合并。
-
回答者请注意... STX 和 ETX 是单个字符,并且(可能)没有命令行工具通常预期的换行符。
标签: linux perl text protocols telnet