danielzzz / node-ping

a poor man's ping library (using udp scanning) for node
MIT License
336 stars 105 forks source link

Need help on gathering pinging IPV6 fixtures on different platform #79

Open mondwan opened 6 years ago

mondwan commented 6 years ago

As #67 introduces IPV6, we need your helps on gathering fixtures for running ping6. Otherwise, ipv6 may not be work in your platform.

The more fixtures we have the more faith we have to make ipv6 on your platform :)

For MacOS, please paste out output from following command

ping6 -c 2 IPV6_DOMAIN

For Window, please paste out output from following command

ping -6 IPV6_DOMAIN

For Linux, ????

mondwan commented 6 years ago

Window zh

ping -6 -n 2 localhost
Ping Mond-PC [::1] (使用 32 位元組的資料):
回覆自 ::1: 時間<1ms
回覆自 ::1: 時間<1ms

::1 的 Ping 統計資料:
    封包: 已傳送 = 2,已收到 = 2, 已遺失 = 0 (0% 遺失),
大約的來回時間 (毫秒):
    最小值 = 0ms,最大值 = 0ms,平均 = 0ms
openam commented 6 years ago

MacOS 10.13.3

$ ping6 -c 2 localhost
PING6(56=40+8+8 bytes) ::1 --> ::1
16 bytes from ::1, icmp_seq=0 hlim=64 time=0.076 ms
16 bytes from ::1, icmp_seq=1 hlim=64 time=0.147 ms

--- localhost ping6 statistics ---
2 packets transmitted, 2 packets received, 0.0% packet loss
round-trip min/avg/max/std-dev = 0.076/0.111/0.147/0.036 ms
$ ping6 -c 2 fe80::1%lo0
PING6(56=40+8+8 bytes) fe80::1%lo0 --> fe80::1%lo0
16 bytes from fe80::1%lo0, icmp_seq=0 hlim=64 time=0.074 ms
16 bytes from fe80::1%lo0, icmp_seq=1 hlim=64 time=0.233 ms

--- fe80::1%lo0 ping6 statistics ---
2 packets transmitted, 2 packets received, 0.0% packet loss
round-trip min/avg/max/std-dev = 0.074/0.153/0.233/0.080 ms

When I tried to ping an actual device I got an error.

$ ping6 -c 2 fe80::0290:e8ff:fe65:b9d9
ping6: UDP connect: No route to host

So I specified the interface, which appears to work

$ ping6 -c 2 -I en10 fe80::0290:e8ff:fe65:b9d9
PING6(56=40+8+8 bytes) fe80::b5:aead:8028:18c3%en10 --> fe80::290:e8ff:fe65:b9d9
16 bytes from fe80::290:e8ff:fe65:b9d9%en10, icmp_seq=0 hlim=64 time=0.755 ms
16 bytes from fe80::290:e8ff:fe65:b9d9%en10, icmp_seq=1 hlim=64 time=0.543 ms

--- fe80::0290:e8ff:fe65:b9d9 ping6 statistics ---
2 packets transmitted, 2 packets received, 0.0% packet loss
round-trip min/avg/max/std-dev = 0.543/0.649/0.755/0.106 ms
sznowicki commented 6 years ago

Linux

Linux fra 3.13.0-52-generic #85-Ubuntu SMP Wed Apr 29 16:44:17 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux

ping6 2600:9000:200c:6200::12eb:9d80:93a1 -c 2
PING 2600:9000:200c:6200::12eb:9d80:93a1(2600:9000:200c:6200:0:12eb:9d80:93a1) 56 data bytes
64 bytes from 2600:9000:200c:6200:0:12eb:9d80:93a1: icmp_seq=1 ttl=58 time=1.17 ms
64 bytes from 2600:9000:200c:6200:0:12eb:9d80:93a1: icmp_seq=2 ttl=58 time=0.853 ms

--- 2600:9000:200c:6200::12eb:9d80:93a1 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1001ms
rtt min/avg/max/mdev = 0.853/1.014/1.175/0.161 ms
sznowicki commented 6 years ago

Mac (10.13.4)

Darwin HOSTNAME 17.5.0 Darwin Kernel Version 17.5.0: Mon Mar 5 22:24:32 PST 2018; root:xnu-4570.51.1~1/RELEASE_X86_64 x86_64

ping6 2600:9000:200c:6200::12eb:9d80:93a1 -c 2
PING6(56=40+8+8 bytes) 2a02:908:c61:dd00:a1a5:3a00:4076:ee41 --> 2600:9000:200c:6200::12eb:9d80:93a1
16 bytes from 2600:9000:200c:6200::12eb:9d80:93a1, icmp_seq=0 hlim=55 time=19.102 ms
16 bytes from 2600:9000:200c:6200::12eb:9d80:93a1, icmp_seq=1 hlim=55 time=20.521 ms

--- 2600:9000:200c:6200::12eb:9d80:93a1 ping6 statistics ---
2 packets transmitted, 2 packets received, 0.0% packet loss
round-trip min/avg/max/std-dev = 19.102/19.812/20.521/0.709 ms
openam commented 6 years ago

MacOS 10.13.4

My earlier post was using link-local addresses. Here is one hitting Google DNS.

ping6 -c 2 2001:4860:4860::8888
PING6(56=40+8+8 bytes) 2600:100e:b11c:43d6:141e:1df9:f4fa:526c --> 2001:4860:4860::8888
16 bytes from 2001:4860:4860::8888, icmp_seq=0 hlim=52 time=96.637 ms
16 bytes from 2001:4860:4860::8888, icmp_seq=1 hlim=52 time=94.205 ms

--- 2001:4860:4860::8888 ping6 statistics ---
2 packets transmitted, 2 packets received, 0.0% packet loss
round-trip min/avg/max/std-dev = 94.205/95.421/96.637/1.216 ms

And again on another WiFi session

ping6 -c 2 2001:4860:4860::8888
PING6(56=40+8+8 bytes) 2600:100e:b11c:43d6:2c94:489e:a895:f3e7 --> 2001:4860:4860::8888
16 bytes from 2001:4860:4860::8888, icmp_seq=0 hlim=52 time=87.734 ms
16 bytes from 2001:4860:4860::8888, icmp_seq=1 hlim=52 time=162.158 ms

--- 2001:4860:4860::8888 ping6 statistics ---
2 packets transmitted, 2 packets received, 0.0% packet loss
round-trip min/avg/max/std-dev = 87.734/124.946/162.158/37.212 ms
mondwan commented 6 years ago

Thanks all of u. We are still welcome output from other platforms.

nahanil commented 5 years ago

Debian 9 "Stretch" Linux pdgd02 4.9.0-8-amd64 #1 SMP Debian 4.9.144-3.1 (2019-02-19) x86_64 GNU/Linux FWIW ping6 and ping -6 work here.

ping -6 -c2 one.one.one.one
PING one.one.one.one(one.one.one.one (2606:4700:4700::1001)) 56 data bytes
64 bytes from one.one.one.one (2606:4700:4700::1001): icmp_seq=1 ttl=61 time=2.42 ms
64 bytes from one.one.one.one (2606:4700:4700::1001): icmp_seq=2 ttl=61 time=1.59 ms

--- one.one.one.one ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1001ms
rtt min/avg/max/mdev = 1.597/2.012/2.428/0.417 ms
ping6 -c2 one.one.one.one
PING one.one.one.one(one.one.one.one (2606:4700:4700::1111)) 56 data bytes
64 bytes from one.one.one.one (2606:4700:4700::1111): icmp_seq=1 ttl=60 time=1.66 ms
64 bytes from one.one.one.one (2606:4700:4700::1111): icmp_seq=2 ttl=60 time=1.42 ms

--- one.one.one.one ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1001ms
rtt min/avg/max/mdev = 1.429/1.546/1.663/0.117 ms
ping -6 -c2 2606:4700:4700::1001
PING 2606:4700:4700::1001(2606:4700:4700::1001) 56 data bytes
64 bytes from 2606:4700:4700::1001: icmp_seq=1 ttl=61 time=1.92 ms
64 bytes from 2606:4700:4700::1001: icmp_seq=2 ttl=61 time=1.53 ms

--- 2606:4700:4700::1001 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1001ms
rtt min/avg/max/mdev = 1.539/1.731/1.923/0.192 ms

Debian 8 "Jessie" Linux ns2 2.6.32-042stab128.2 #1 SMP Thu Mar 22 10:58:36 MSK 2018 x86_64 GNU/Linux

ping6 is our only option on these older machines.

ping -6 one.one.one.one
ping: invalid option -- '6'
Usage: ping [-aAbBdDfhLnOqrRUvV] [-c count] [-i interval] [-I interface]
            [-m mark] [-M pmtudisc_option] [-l preload] [-p pattern] [-Q tos]
            [-s packetsize] [-S sndbuf] [-t ttl] [-T timestamp_option]
            [-w deadline] [-W timeout] [hop1 ...] destination

Using ping6 I get

ping6 -c2 2606:4700:4700::1111
PING 2606:4700:4700::1111(2606:4700:4700::1111) 56 data bytes
64 bytes from 2606:4700:4700::1111: icmp_seq=1 ttl=57 time=0.672 ms
64 bytes from 2606:4700:4700::1111: icmp_seq=2 ttl=57 time=1.00 ms

--- 2606:4700:4700::1111 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1000ms
rtt min/avg/max/mdev = 0.672/0.840/1.009/0.170 ms
ping6 -c2 one.one.one.one
PING one.one.one.one(one.one.one.one) 56 data bytes
64 bytes from one.one.one.one: icmp_seq=1 ttl=57 time=0.928 ms
64 bytes from one.one.one.one: icmp_seq=2 ttl=57 time=0.888 ms

--- one.one.one.one ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1000ms
rtt min/avg/max/mdev = 0.888/0.908/0.928/0.020 ms

Another Debian 8 "Jessie" ("VPS" with no IPv6 support) Linux ns3 2.6.32-042stab128.2 #1 SMP Thu Mar 22 10:58:36 MSK 2018 x86_64 GNU/Linux

Again ping -6 command is invalid here. It hangs for a while with ping6 and gives me

ping6 -c 2 2606:4700:4700::1111
PING 2606:4700:4700::1111(2606:4700:4700::1111) 56 data bytes

--- 2606:4700:4700::1111 ping statistics ---
2 packets transmitted, 0 received, 100% packet loss, time 1000ms
mondwan commented 5 years ago

Hello @texh . Thanks for your findings.

For running with ipv6, have you tried the option v6? It should call /sbin/ping6 for linux platform. Therefore, you don't need to pass -6 directly via extra.

nahanil commented 5 years ago

@mondwan See #95 for why this currently won't neccessarily work.

Saiv46 commented 4 years ago

Windows RU

Обмен пакетами с IPV6_DOMAIN по с PACKET_SIZE байтами данных:
Ответ от IPV6_DOMAIN: время=TIMEмс
Ответ от IPV6_DOMAIN: время=TIMEмс
Ответ от IPV6_DOMAIN: время=TIMEмс
Ответ от IPV6_DOMAIN: время=TIMEмс

Статистика Ping для IPV6_DOMAIN:
    Пакетов: отправлено = PACKET_SENT, получено = PACKET_RECV, потеряно = PACKET_LOST
    (PACKET_LOSS% потерь)
Приблизительное время приема-передачи в мс:
    Минимальное = TIME_MINмсек, Максимальное = TIME_MAX мсек, Среднее = TIME_AVG мсек