无法通过 ntp 查询我已连接的主机

无法通过 ntp 查询我已连接的主机

因此,我有一个从我的电脑到在 UDP 端口 123 上运行 NTP 的设备的以太网点对点连接。这是 nmap 显示的内容:

root@kali:~# nmap -sU mydevice
PORT    STATE         SERVICE
123/udp open|filtered ntp

现在,当我启动 ntp 并检查其状态时,我得到的结果如下:

root@kali:~# sudo service ntp start
root@kali:~# sudo service ntp status
● ntp.service - Network Time Service
   Loaded: loaded (/lib/systemd/system/ntp.service; disabled; vendor preset: disabled)
   Active: active (running) since Fri 2019-12-06 10:31:22 CET; 1s ago
     Docs: man:ntpd(8)
  Process: 4203 ExecStart=/usr/lib/ntp/ntp-systemd-wrapper (code=exited, status=0/SUCCESS)
 Main PID: 4209 (ntpd)
    Tasks: 2 (limit: 4915)
   Memory: 2.2M
   CGroup: /system.slice/ntp.service
           └─4209 /usr/sbin/ntpd -p /var/run/ntpd.pid -g -u 105:111

Dec 06 10:31:22 kali ntpd[4209]: Listen normally on 2 lo 127.0.0.1:123
Dec 06 10:31:22 kali ntpd[4209]: Listen normally on 3 eth0 10.96.104.97:123
Dec 06 10:31:22 kali ntpd[4209]: Listen normally on 4 wlan0 192.168.1.126:123
Dec 06 10:31:22 kali ntpd[4209]: Listen normally on 5 lo [::1]:123
Dec 06 10:31:22 kali ntpd[4209]: Listen normally on 6 eth0 [fe80::868a:75a:e3ad:2cbc%2]:123
Dec 06 10:31:22 kali ntpd[4209]: Listen normally on 7 wlan0 [fe80::cbd2:c686:502d:d0d0%3]:123
Dec 06 10:31:22 kali ntpd[4209]: Listening on routing socket on fd #24 for interface updates
Dec 06 10:31:22 kali ntpd[4209]: kernel reports TIME_ERROR: 0x41: Clock Unsynchronized
Dec 06 10:31:22 kali ntpd[4209]: kernel reports TIME_ERROR: 0x41: Clock Unsynchronized
Dec 06 10:31:23 kali ntpd[4209]: Soliciting pool server 162.159.200.123

这是 ntpq -npcrv 的响应

root@kali:~# ntpq -npcrv
     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
 10.96.104.98    .STEP.          16 u    -   64    0    0.000    0.000   0.000
 0.debian.pool.n .POOL.          16 p    -   64    0    0.000    0.000   0.000
 1.debian.pool.n .POOL.          16 p    -   64    0    0.000    0.000   0.000
 2.debian.pool.n .POOL.          16 p    -   64    0    0.000    0.000   0.000
 3.debian.pool.n .POOL.          16 p    -   64    0    0.000    0.000   0.000
*83.168.200.199  192.36.143.130   2 u   76   64    1    3.652   -0.742   0.646
 193.182.111.143 194.58.202.20    2 u   40   64    1    2.206   -0.768   4.768
-213.199.225.30  212.160.106.226  2 u   46   64    3   44.320    0.156   4.717
+213.251.52.202  195.66.241.10    2 u   11   64    3   19.966   -1.813   1.371
-109.201.133.100 151.80.124.104   3 u   44   64    3   31.114    1.118   0.964
+147.78.228.41   193.11.166.36    2 u   11   64    3    3.708   -1.263   0.946
 193.182.111.14  192.36.143.130   2 u   40   64    1    2.196   -0.488   0.677
+193.182.111.13  194.58.202.20    2 u   47   64    3    2.062   -1.249   4.331
+27.124.125.250  85.199.214.98    2 u   45   64    3   31.547   -1.261   1.389
 218.186.3.36    .GPS.            1 u   38   64    1  307.278   37.465  11.156
 162.159.200.1   10.128.8.119     3 u   41   64    1    1.660   -0.669   0.295
+62.201.225.9    62.201.214.162   2 u   45   64    3   84.179   -1.641   0.768
-45.231.168.6    23.31.21.163     3 u   46   64    3  170.302  -27.169   0.945
 193.182.111.141 194.58.202.20    2 u   42   64    1    2.567   -0.554   2.066
 102.130.49.223  85.199.214.98    2 u   42   64    1  186.493   -1.765   0.277
 176.9.241.107   130.149.17.8     2 u   40   64    1   36.654   -0.853   0.272

associd=0 status=0618 leap_none, sync_ntp, 1 event, no_sys_peer,
version="ntpd [email protected] (1)", processor="x86_64",
system="Linux/5.3.0-kali2-amd64", leap=00, stratum=3, precision=-22,
rootdelay=4.995, rootdisp=219.827, refid=83.168.200.199,
reftime=e19b727a.eb1b269c  Wed, Dec 11 2019 14:49:46.918,
clock=e19b72c6.3c2e95c2  Wed, Dec 11 2019 14:51:02.235, peer=1791, tc=6,
mintc=3, offset=-1.425931, frequency=-5.187, sys_jitter=0.437287,
clk_jitter=0.668, clk_wander=0.017, tai=37, leapsec=201701010000,
expire=202006280000

它显示在 3 eth0 上正常监听,这是我的远程设备。b 现在使用 wireshark 我可以看到往返于该主机的 NTP 数据包。

Wireshark 跟踪

编辑:这是一个 Google Drive 文件夹,其中包含两个请求的屏幕截图、一个客户端和一个服务器,以及来自 wireshark 的完整 .pcap: https://drive.google.com/drive/folders/1PbvjJugtpRJKN0YrvX5VbI9iJfnJxdYH

到目前为止一切顺利,我的电脑和设备之间似乎有 NTP 通信。

但是,当我尝试 ntp 查询设备时:

root@kali:~# ntpdate -q mydevice
29 Nov 12:59:17 ntpdate[9599]: no server suitable for synchronization found
root@kali:~# ntpq -p mydevice
10.96.104.98: timed out, nothing received
***Request timed out

为什么我无法手动查询远程主机,而我的 wireshark 清楚地显示我正在与它进行“自动 ntp 通信”?是不是因为远程主机只运行 ntp 客户端而不是 ntp 服务器?如果是这样,我可以使用哪种 ntpq 命令与其通信?

答案1

根据您的数据包捕获,当您启动 NTP 时,10.96.104.98 的本地时钟设置为 1997 年 1 月 1 日 00:00。对于前 4 次轮询,时钟仍设置为该时间,这意味着您没有同步(因为偏移太大)。到第 5 次轮询时,10.96.104.98 已将其时钟更改为正确时间,到第 6 次轮询时,它显示 10.96.104.97 作为其参考时钟。

您捕获的输出ntpq -npcrv显示最多有 3 次成功轮询到任何时间服务器。因此,这表明输出是在第 5 次轮询之前捕获的。如果您现在(或第 6 次轮询之后的任何时间)再次尝试,它应该会显示同步成功。

请注意,如果您不控制10.96.104.97,它拒绝响应是正常的ntpq -p,并且ntpdate不会选择它,因为您的时间太远了。

仔细检查您的程序是否使用或标志ntpd启动,以便它在初始启动时正确设置时钟。-g-G

相关内容