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