【问题标题】:Monitor socket with ngrep or perl for activity, then issue command使用 ngrep 或 perl 监视套接字的活动,然后发出命令
【发布时间】:2010-04-03 22:47:50
【问题描述】:

我想使用 ngrep 和/或 perl 来监视套接字上的传入数据流,然后,当适当的字符到达时,例如在本例中,字符串“192.168.1.101:8080”输入到数据流重定向到另一个IP地址,例如“192.168.1.102”

这可能吗?

【问题讨论】:

    标签: ruby perl grep sockets ngrep


    【解决方案1】:

    当然可以。

    算法/应用程序需要:

    • MiM 监听服务器(创建套接字会话套接字)
    • 在 MiM 上握手:
    • (最好的办法是使用不使用二进制协议的文本流)
    • 从客户端接收,然后解析消息:

    • 如果IP进来,打开或使用已经打开的socket到目标服务器/端口

    • 将消息或其余消息发送到目标服务器
    • 提供客户端和目标服务器之间的通信(作为网关操作)
    • recv() 客户端或服务器和 send() 回到适当的一侧

    一般建议: 在 select() 或 epoll() 上操作,方法更高级但更好。

    【讨论】:

      【解决方案2】:

      这可以在 Perl 中轻松完成。

      perldoc perlipcIO::SocketIO::Select 为例。

      您可能会发现Beej's Guide to Network Programming 也很有帮助。这些示例都是用 C 语言编写的,但 Perl 的网络 API 非常接近 C 风格。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-11-18
        • 2015-08-15
        • 2013-11-28
        • 2011-07-12
        相关资源
        最近更新 更多