「D-STAR 委員会によるユーザーを無視した行動についての申し入れ」に関する 経過のまとめ (2024/2/10) http://xrf673.xreflector-jp.org/info/xchange.pdf
これで知ったのだけど、UDPオプションなるものがあるのか。
https://datatracker.ietf.org/doc/html/draft-ietf-tsvwg-udp-options-23
これについては UDPにオプション領域を追加する仕様 (2023/07/01) https://asnokaze.hatenablog.com/entry/2023/07/01/030516 を見るのが良さそう。
UDPオプションを踏まえた上で、レピータ管理団体及び JARL・D-STAR委員会等が提供しているプログラム以外を接続されているユーザー の皆様へ (2024/02/21) https://blog.goo.ne.jp/jarl_lab2/e/5f2e8b49ad8c06e49bdbbdcc6c533d7b に示されるIPパケットを読み解いてみようか。
生存確認の要求側のパケットの例
07:46:45.668636 IP xx.x.x.xxx.60005 > xxx.xxx.xxx.xxx.50100: UDP, length 10
0x0000: 4500 0026 0fee 4000 4011 66d3 xxxx xxxx E..&..@.@.f.....
0x0010: xxxx xxxx ea65 c3b4 0012 c429 4453 5452 .....e.....)DSTR
0x0020: 0000 7312 0000 ..s...
IPv4, IPヘッダ長20byte, サービスタイプ00, パケット長38byte, protocol UDP(0x11), checksum 0x66d3, 送信元/送信先は秘匿されている, IPヘッダのオプションは無し。
UDP src port 60005, dst port 50100, データ長18byte, checksum 0xc429
…で、いいのかな。
非準拠の例
07:46:45.723745 IP xxx.xxx.xxx.xxx.50100 > xx.x.x.xxx.60005: UDP, length 10
0x0000: 4500 0026 888f 0000 3e11 3032 xxxx xxxx E..&....>.02....
0x0010: xxxx xxxx c3b4 ea65 0012 825a 4453 5452 .......e...ZDSTR
0x0020: 0097 7212 0000 0000 0000 0000 0000 ..r...........
IPv4, IPヘッダ長20byte, サービスタイプ00, protocol UDP(0x11), パケット長38byte, checksum 0x3032, 送信元/送信先(ry, IPヘッダのオプションは無し。
UDP src port 50100, dst port 60005, データ長18byte, checksum 0x825a
確かにIPヘッダのパケット長を越えちゃいる…
非準拠のパケットとやらが0x2e…46byteあるけども、一つ引っかかるのがrunt packet除けのpaddingなんだよね。
Ethernet上では64byte未満のパケットは棄却されるので、適当にパディングして64byteにする必要があるんだけど…Ethernetフレームって送信MAC address(6byte), 受信MAC address(6byte), Ethernet type(2byte)に加えてFCS(4byte)、18byteのデータが追加される。
46+18=64なんだけど、この推測あってますかね?「バッファオーバーフローと呼ばれる典型的なハッキングの手法の一つ」ではなく。