源端口低于 1024 的 TCP/UDP IP 数据包是否可能

Jde*_*aan 5 ip udp tcp protocols

我正在分析一些针对未绑定运行的 dns 服务器的事件。在这项调查的过程中,我遇到了涉及对 dns 服务器的查询的流量这些服务器被报告在某些情况下具有 1 到 1024 之间的源端口。据我所知,这些是为服务保留的,因此不应该有流量从那些发起/发起到服务器。

因为我也知道这是一种实践,而不是随时间演变的规律,所以我知道在数据包的源端口字段中放置任何数字没有技术限制。所以我的结论是这些查询是由某个工具生成的,其中源端口填充了一个随机值(频率大约在 0-65535 之间平均分配,除了 32768 附近的峰值),这是故意攻击.

有人可以确认/否认源端口理论并证明我的结论或宣称我是个白痴并解释原因吗?

提前致谢。

编辑 1:添加更精确的信息以解决由于我的报告不完整而引起的一些争议。

这绝对不是端口扫描。这是到达端口 53 UDP 的流量并且未绑定显然接受它作为(几乎)有效的 dns 查询,同时为每个数据包生成以下错误消息:

notice: remote address is <ipaddress> port <sourceport>
notice: sendmsg failed: Invalid argument

$ cat raw_daemonlog.txt | egrep -c 'notice: remote address is' 
256497
$ cat raw_daemonlog.txt | egrep 'notice: remote address is' | awk '{printf("%s\n",$NF)}' | sort -n | uniq -c > sourceportswithfrequency.txt
$ cat sourceportswithfrequency.txt | wc -l
56438
Run Code Online (Sandbox Code Playgroud)

所以 256497 条消息,使用了 56438 个唯一的源端口

$ cat sourceportswithfrequency.txt | head 
   5 4
   3 5
   5 6
Run Code Online (Sandbox Code Playgroud)

所以看到的最低源端口是 4,使用了 5 次

$ cat sourceportswithfrequency.txt | tail
  8 65524
  2 65525
 14 65526
  1 65527
  2 65528
  4 65529
  3 65530
  3 65531
  3 65532
  4 65534
Run Code Online (Sandbox Code Playgroud)

所以看到的最高源端口是 65534,它被使用了 4 次。

$ cat sourceportswithfrequency.txt | sort -n | tail -n 25
  55 32786
  58 35850
  60 32781
  61 32785
  66 32788
  68 32793
  71 32784
  73 32783
  88 32780
  90 32791
  91 32778
 116 2050
 123 32779
 125 37637
 129 7077
 138 32774
 160 32777
 160 57349
 162 32776
 169 32775
 349 32772
 361 32773
 465 32769
 798 32771
1833 32768
Run Code Online (Sandbox Code Playgroud)

所以32768附近的峰值是真实的。

我最初的问题仍然存在:这种流量模式是否暗示了攻击,或者是否有合乎逻辑的解释,例如,源端口 < 1024 的流量?

Cod*_*ter 5

据我所知,这些是为服务保留的,因此永远不应该有流量从这些流量发起/发起到服务器。

源端口号是什么并不重要,只要它在 1 到 65,535 之间即可。它不像源端口 53 意味着有一个 DNS 服务器在源计算机上侦听。

源端口只是允许多个连接/飞行中的数据报从一台机器到同一目标端口上的另一台机器。

另请参阅Wiki:临时端口

互联网号码分配机构 (IANA)建议将 49152 到 65535 [...] 范围用于动态或专用端口。[1]