0

可能重复:
动态修改数据流

我需要劫持和修改数据流。该流由固定宽度的命令组成。每个命令都是一个新行,文档说每个命令都以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 中非常简单地完成,但我不知道从哪里开始。任何帮助将不胜感激!

4

0 回答 0