Tool

IP Multicast Test Tool [ ssmping/asmping/mcfirst ]

2022年06月15日

Overview

IP Multicast Test Tool の ssmping をインストールする。

Reference

Environment

$ cat /etc/os-release
PRETTY_NAME="Ubuntu 22.04 LTS"
NAME="Ubuntu"
VERSION_ID="22.04"
VERSION="22.04 LTS (Jammy Jellyfish)"
VERSION_CODENAME=jammy
ID=ubuntu
ID_LIKE=debian
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
UBUNTU_CODENAME=jammy
$

Install

$ sudo apt install ssmping

Help

$ ssmping -h
ssmping: invalid option -- 'h'
ssmping version 0.9.1 (20080418)

Usage:
ssmping [ -46v ] [ -I interface ] [ -c count ] [ -s size ] destination
$
$ asmping --help
asmping: invalid option -- '-'
asmping version 0.9.1 (20080418)

Usage:
asmping [ -46v ] [ -I interface ] [ -c count ] [ -s size ] group destination
or
asmping [ -46v ] [ -I interface ] [ -c count ] [ -s size ] destination group
$
$ mcfirst --help
mcfirst: invalid option -- '-'
mcfirst version 0.9.1 (20080418)

Usage:
mcfirst [ -46vr ] [ -I interface ] [ -c count ] [ -t time ] [source] group port
or
mcfirst [ -46vr ] [ -I interface ] [ -c count ] [ -t time ] group [source] port
$

command path

/usr/bin/asmping
/usr/bin/mcfirst
/usr/bin/ssmping
/usr/bin/ssmpingd

Testing (Send and Receive)

Server

$ ifconfig
enp0s3: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.1.56  netmask 255.255.255.0  broadcast 192.168.1.255
        inet6 fe80::a00:27ff:fe24:8c06  prefixlen 64  scopeid 0x20
        inet6 2408:211:540:ca00:a00:27ff:fe24:8c06  prefixlen 64  scopeid 0x0
        ether 08:00:27:24:8c:06  txqueuelen 1000  (Ethernet)
        RX packets 971  bytes 318204 (318.2 KB)
        RX errors 0  dropped 302  overruns 0  frame 0
        TX packets 606  bytes 93875 (93.8 KB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 108  bytes 10196 (10.1 KB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 108  bytes 10196 (10.1 KB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

$
$ ssmpingd &
[1] 1239
$ 
received request from 192.168.1.55
received request from 192.168.1.55
received request from 192.168.1.55
received request from 192.168.1.55
received request from 192.168.1.55

Client

$ ssmping -c 5 -4 192.168.1.56
ssmping joined (S,G) = (192.168.1.56,232.43.211.234)
pinging S from 192.168.1.55
  unicast from 192.168.1.56, seq=1 dist=0 time=0.536 ms
multicast from 192.168.1.56, seq=1 dist=0 time=0.536 ms
  unicast from 192.168.1.56, seq=2 dist=0 time=0.835 ms
multicast from 192.168.1.56, seq=2 dist=0 time=0.835 ms
  unicast from 192.168.1.56, seq=3 dist=0 time=0.833 ms
multicast from 192.168.1.56, seq=3 dist=0 time=0.834 ms
  unicast from 192.168.1.56, seq=4 dist=0 time=0.329 ms
multicast from 192.168.1.56, seq=4 dist=0 time=0.329 ms
  unicast from 192.168.1.56, seq=5 dist=0 time=0.907 ms
multicast from 192.168.1.56, seq=5 dist=0 time=0.907 ms

--- 192.168.1.56 statistics ---
5 packets transmitted, time 5017 ms
unicast:
   5 packets received, 0% packet loss
   rtt min/avg/max/std-dev = 0.329/0.688/0.907/0.220 ms
multicast:
   5 packets received, 0% packet loss since first mc packet (seq 1) recvd
   rtt min/avg/max/std-dev = 0.329/0.688/0.907/0.221 ms
$

Packet list

No.     Time                          Source                Destination           Protocol Length Info 
      6 2022-06-15 21:37:37.733728    192.168.1.55          192.168.1.56          UDP      80     54691 → 4321 Len=38
      7 2022-06-15 21:37:37.733806    192.168.1.56          192.168.1.55          UDP      80     4321 → 54691 Len=38
      8 2022-06-15 21:37:37.733823    192.168.1.56          232.43.211.234        UDP      80     4321 → 54691 Len=38
     10 2022-06-15 21:37:37.742473    192.168.1.55          224.0.0.22            IGMPv3   60     Membership Report / Group 232.43.211.234, new source {192.168.1.56}
     13 2022-06-15 21:37:38.554868    192.168.1.55          224.0.0.22            IGMPv3   60     Membership Report / Group 232.43.211.234, new source {192.168.1.56}
     14 2022-06-15 21:37:38.778004    192.168.1.55          192.168.1.56          UDP      80     54691 → 4321 Len=38
     15 2022-06-15 21:37:38.778179    192.168.1.56          192.168.1.55          UDP      80     4321 → 54691 Len=38
     16 2022-06-15 21:37:38.778229    192.168.1.56          232.43.211.234        UDP      80     4321 → 54691 Len=38
     20 2022-06-15 21:37:39.744113    192.168.1.55          192.168.1.56          UDP      80     54691 → 4321 Len=38
     21 2022-06-15 21:37:39.744355    192.168.1.56          192.168.1.55          UDP      80     4321 → 54691 Len=38
     22 2022-06-15 21:37:39.744408    192.168.1.56          232.43.211.234        UDP      80     4321 → 54691 Len=38
     28 2022-06-15 21:37:40.760912    192.168.1.55          192.168.1.56          UDP      80     54691 → 4321 Len=38
     29 2022-06-15 21:37:40.761094    192.168.1.56          192.168.1.55          UDP      80     4321 → 54691 Len=38
     30 2022-06-15 21:37:40.761150    192.168.1.56          232.43.211.234        UDP      80     4321 → 54691 Len=38
     35 2022-06-15 21:37:41.739789    192.168.1.55          192.168.1.56          UDP      80     54691 → 4321 Len=38
     36 2022-06-15 21:37:41.739916    192.168.1.56          192.168.1.55          UDP      80     4321 → 54691 Len=38
     37 2022-06-15 21:37:41.739950    192.168.1.56          232.43.211.234        UDP      80     4321 → 54691 Len=38
     42 2022-06-15 21:37:42.762429    192.168.1.55          224.0.0.22            IGMPv3   60     Membership Report / Group 232.43.211.234, block source {192.168.1.56}
     47 2022-06-15 21:37:43.516134    192.168.1.55          224.0.0.22            IGMPv3   60     Membership Report / Group 232.43.211.234, block source {192.168.1.56}