Wireshark捕获的SNMP流量,但源端口和目标端口相同

Wireshark捕获的SNMP流量,但源端口和目标端口相同,snmp,Snmp,据我所知,在正常行为中,客户机将随机端口连接到SNMP服务端口,现在客户机使用SNMP陷阱端口(162)与服务器通信 我的问题是: 作为客户端设置,我没有为客户端配置任何SNMP设置,为什么WireShark能够捕获来自客户端的SNMP流量 为什么客户端使用SNMP陷阱端口(162)与服务器通信,而不是使用随机端口 SNMP通常通过UDP传输,因此实际上没有“连接”,从技术上讲,源端口并不重要。您可以只发送数据报(例如陷阱),而不绑定到端口 然而,即使在UDP上运行,SNMP也会涉及一些双向通信

据我所知,在正常行为中,客户机将随机端口连接到SNMP服务端口,现在客户机使用SNMP陷阱端口(162)与服务器通信

我的问题是:

  • 作为客户端设置,我没有为客户端配置任何SNMP设置,为什么WireShark能够捕获来自客户端的SNMP流量
  • 为什么客户端使用SNMP陷阱端口(162)与服务器通信,而不是使用随机端口

  • SNMP通常通过UDP传输,因此实际上没有“连接”,从技术上讲,源端口并不重要。您可以只发送数据报(例如陷阱),而不绑定到端口

    然而,即使在UDP上运行,SNMP也会涉及一些双向通信。如果您正在等待响应(客户端在发送SNMP Get或Set请求时会这样做),则另一端所知道的唯一发送响应的位置就是请求的来源,即原始IP/端口组合。SNMP数据包中没有提供任何替代“返回地址”信息的信息

    因此,为了在可预测的端口上获得响应,您将从绑定的套接字发送请求数据报。通常,客户端将在端口162上运行自己的侦听“服务器”,从那里发送请求,然后也可以在那里接收响应。否则你就看不到答案了。这还允许我们设置简单的防火墙规则(尽管由于*,返回路径通常没有防火墙规则)

    服务器也是如此,它在已知的、标准的、可预测的端口上发出陷阱和通知,这样不仅可以可靠地配置陷阱接收器和防火墙,还可以将通知响应发送回您正在侦听的已知的、标准的、可预测的端口

    tl;dr:如果愿意,您可以从任意端口发送请求,但这不是很有用


    *我的SNMP实现似乎有问题,因为客户机/接收器仅在上次戳出某种请求数据包后的15分钟内看到发出的陷阱。随后的陷阱似乎完全消失了。在服务器端进行了大量调试之后,结果证明我们忘记了在入站防火墙上为客户端打开正确的端口,并且意外地依赖有时间限制的穿孔:D



    至于Wireshark为什么会看到来自未配置的SNMP客户端的流量,那么,要么您的SNMP客户端实际配置为发送请求,要么您误解了结果。Wireshark并没有发明流量。如果没有关于您的网络设置、软件设置和您看到的数据包的更完整的图片,我们只能推测您困惑的确切原因。

    SNMP通常通过UDP传输,因此实际上没有“连接”,从技术上讲,源端口并不重要。您可以只发送数据报(例如陷阱),而不绑定到端口

    然而,即使在UDP上运行,SNMP也会涉及一些双向通信。如果您正在等待响应(客户端在发送SNMP Get或Set请求时会这样做),则另一端所知道的唯一发送响应的位置就是请求的来源,即原始IP/端口组合。SNMP数据包中没有提供任何替代“返回地址”信息的信息

    因此,为了在可预测的端口上获得响应,您将从绑定的套接字发送请求数据报。通常,客户端将在端口162上运行自己的侦听“服务器”,从那里发送请求,然后也可以在那里接收响应。否则你就看不到答案了。这还允许我们设置简单的防火墙规则(尽管由于*,返回路径通常没有防火墙规则)

    服务器也是如此,它在已知的、标准的、可预测的端口上发出陷阱和通知,这样不仅可以可靠地配置陷阱接收器和防火墙,还可以将通知响应发送回您正在侦听的已知的、标准的、可预测的端口

    tl;dr:如果愿意,您可以从任意端口发送请求,但这不是很有用


    *我的SNMP实现似乎有问题,因为客户机/接收器仅在上次戳出某种请求数据包后的15分钟内看到发出的陷阱。随后的陷阱似乎完全消失了。在服务器端进行了大量调试之后,结果证明我们忘记了在入站防火墙上为客户端打开正确的端口,并且意外地依赖有时间限制的穿孔:D



    至于Wireshark为什么会看到来自未配置的SNMP客户端的流量,那么,要么您的SNMP客户端实际配置为发送请求,要么您误解了结果。Wireshark并没有发明流量。如果没有关于您的网络设置、软件设置和您看到的数据包的更完整的图片,我们只能推测您困惑的确切原因。

    我不理解您的问题#1。您能澄清一下吗?1)您可以捕获Wireshark中的任何内容,然后通过协议进行过滤。根据您使用Wireshark捕获数据包的方式,这是完全正常的。2) “随机端口”是一种错觉。客户机可以使用任意端口,只要它愿意,端口162(如果可用)可以是这样的端口。客户端的源代码可能会告诉您更多关于它如何选择端口的信息,您在问题中没有透露。嗨,Lex Li,对于问题1,客户端设备没有任何SNMP服务(服务器/陷阱)正在运行,wireshark捕获是在客户端设备刚完成OS安装后实施的,因此,我不知道为什么客户端设备会向未知服务器发送SNMP通信192.168.0.3我不理解您的问题#1。