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

Are TCP/UDP IP packets with a source port below 1024 possible

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

因为我也知道这是随着时间的推移而演变的一种做法,而不是法律,所以我知道在数据包的源端口字段中放置任何数字没有技术限制。所以我的结论是,这些查询是由一些工具生成的,其中源端口填充了一个随机值(频率大约均匀分布在 0-65535 之间,除了 32768 左右的峰值)并且这是一次蓄意攻击.

有人可以 confirm/deny 源端口理论来证明我的结论,或者说我是个白痴并解释原因吗?

提前致谢。

编辑 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

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

$ cat sourceportswithfrequency.txt | head 
   5 4
   3 5
   5 6

所以看到的最低源端口是 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

所以看到的最高源端口是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

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

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

As far as my knowledge goes these are reserved for services so there should never be traffic originating / initiated from those to a server.

源端口号是什么并不重要,只要它在 1 到 65,535 之间即可。不像是源端口53就代表有DNS服务器在源机器上监听。

源端口在那里允许多个连接/传输中的数据报从一台机器到同一目标端口上的另一台机器。

另见 Wiki: Ephemeral port:

The Internet Assigned Numbers Authority (IANA) suggests the range 49152 to 65535 [...] for dynamic or private ports.[1]