小编Jde*_*aan的帖子

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

我正在分析一些针对未绑定运行的 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 …

ip udp tcp protocols

5
推荐指数
1
解决办法
180
查看次数

JQ如何将多个对象合二为一

给定以下输入(这是输出的淡化版本,具有另一个复杂查询的 10 万多个对象):

echo '{ "a": { "b":"c", "d":"e" } }{ "a": { "b":"f", "d":"g" } }' | jq '.'
{
  "a": {
    "b": "c",
    "d": "e"
  }
}
{
  "a": {
    "b": "f",
    "d": "g"
  }
}
Run Code Online (Sandbox Code Playgroud)

所需的输出:

{
   "c": "e",
   "f": "g"
}
Run Code Online (Sandbox Code Playgroud)

或(更适合后续使用):

{
   x: {
      "c": "e",
      "f": "g"
   }
}
Run Code Online (Sandbox Code Playgroud)

我一生都无法弄清楚该怎么做。我真正的问题当然是多对象输入数据,我真的不知道它是否是有效的 JSON。Jq 生成并接受它,而 jshon 没有。我尝试了各种可能性,但没有一个能产生我所需要的。我认为这是最有可能的候选人:

echo '{ "a": { "b":"c", "d":"e" } }{ "a": { "b":"f", "d":"g" } }' | jq ' . | { …
Run Code Online (Sandbox Code Playgroud)

json object stream jsonstream jq

4
推荐指数
1
解决办法
2206
查看次数

标签 统计

ip ×1

jq ×1

json ×1

jsonstream ×1

object ×1

protocols ×1

stream ×1

tcp ×1

udp ×1