既存サービスに使用されていないポート番号を知りたい

独自にポート番号を使用するとき極力既存サービスと衝突しないようにしたい。

そのためIANAが公開しているサービス別の利用ポート一覧からIANAに登録されているサービスが使用していないポート一覧を生成する。

ワンライナーで実現する

curl -fsL https://www.iana.org/assignments/service-names-port-numbers/service-names-port-numbers.csv |
awk -F',' '/([0-9]{4}-[0-9]{4}|[0-9]{5}-[0-9]{5}),,Unassigned/{print $2}' |
awk -F'-' '$2-$1>=(300-1){print $1,$2-$1+1}' |
sort -k 2,2 -n -r

使用されていないポートが抽出される

連続して使用されていないポート番号が並んでいるところが抽出される

  • 1列目: 使用されていないポート番号
  • 2列目: 1列目のポート番号を含めて連続で並んでいる使用されていないポート番号の数
29170 829
41798 710
43442 681
46337 661
35358 643
39064 617
36866 606
41231 563
26490 510
42511 488
25010 461
45055 459
47101 456
23547 453
40405 436
14501 435
30401 431
48130 426
28590 410
36002 409
34568 394
40024 380
45967 369
33891 358
28241 348
48654 346
37655 345
21222 331
27018 327
13401 319
39682 318
31030 307