我在 Linux 中遇到了涉及端口 631 的环回流量,但我不知道是什么原因造成的

我在 Linux 中遇到了涉及端口 631 的环回流量,但我不知道是什么原因造成的

因此,我在我的网络中进行了一些数据包捕获,除了这种奇怪的通信之外,其他一切都很好,其中源和目标实际上是 127.0.0.1,源端口是 631,而目标端口是每次发生交换时连续增加 1 的数字。

我已禁用所有默认监听的服务,如 cups、avahi-daemon 等,甚至实际上卸载了 cups,因为我并不真正需要它。所以我真的不知道是什么导致了这种流量。我搜索了端口 631,但我看到的都是与打印/打印机相关的结果,这对我的情况没有任何帮助。

有人能帮我解开这个谜团吗?以下是 pcap:

答案1

当流量试图通过环回接口中的端口 631/tcp 流动时,我相信本地进程正在尝试联系 CUPS 守护程序并打印一些内容。不幸的是,我无法从提供的 PCAP 文件中获取有关它的其他信息,因为捕获的所有 TCP 数据包都没有传达有效负载。我只能看到一个进程可能在发生故障后关闭连接套接字并使用新的套接字重试。

不久前,我遇到了类似的问题。为了从频繁尝试与已关闭的本地端口建立连接的进程中收集信息,我使用了以下策略:

  • 蜜罐技术

    在终端选项卡中,我启动了一个酶联免疫吸附试验监听 631/tcp 端口连接的进程:

    # ncat -l -p 631 -k -vv
    

    然后,在另一个终端选项卡中,我运行了一个动态 Bash 脚本,收集有关连接到端口的进程的信息:

    # while sleep 0.1; do ss -tapen state established 'dport = 631' > output.txt ; fgrep -wq 631 output.txt && cat output.txt; done
    
  • IPTABLES/NFTABLES 日志记录

    我在 OUTPUT 链中创建了一个即时 IPTABLES/NFTABLES 规则,将连接信息记录到 SYSLOG:

    # iptables -I OUTPUT -p tcp --syn --dport 631 -j LOG --log-prefix 'WHOIS? ' --log-level warning --log-uid
    
    # nft insert rule ip filter OUTPUT tcp dport 631 tcp flags '&(fin|syn|rst|ack)' == syn counter log prefix '"WHOIS? "' level warn flags skuid
    

答案2

即从 127.0.0.1 向 127.0.0.1 端口 631 发送 10 个 TCP SYN。所有 SYN 都会立即收到 RST 响应。它们之间的间隔恰好为 3.75 秒,并且每次发送的源端口都会增加 4。

正如您所注意到的,端口 631 已注册为 Internet 打印协议。可能存在与打印相关的问题。

由于 TCP 流中没有数据,而且都是本地主机,因此没有太多识别信息。跟踪尝试 TCP 连接的进程。在最近的 Linux 上,bpf 允许您使用以下脚本查看所有 TCP 连接,例如,tcp连接。这将返回连接的 PID 和 COMM。不是 cups 的东西是不寻常的。

相关内容