如何动态修改数据流?

时间:2010-08-22 06:41:32

标签: python linux perl sed netcat

  

可能重复:
  modify a datastream on the fly

我需要劫持并修改数据流。该流由固定宽度命令组成。每个命令都是一个新行,文档说每个命令以STX / ETX(文本的开头和结尾)对开始和结束。

发送系统正在使用串行,但受到攻击的iPocket设备通过IP与我们的PBX进行通信。从我所知道的只是将串口转换为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中完成,但我还不知道从哪里开始。非常感谢任何帮助!

0 个答案:

没有答案