たれながし.info

とあるITエンジニアの備忘録

ffmpegでmp3の無劣化カット

ffmpegでmp3の無劣化カットをします。

目的

mp3の無劣化カットで有名なソフトウェアに「mp3DirectCut」があります。
しかし、インストールしてまで使いたくないので、他の方法を探したところ、ffmpegでできるらしいのでやってみます。

<参考>
stackoverflow.com

無劣化カット

コマンドのフォーマットは下記になります。

ffmpeg -ss <開始位置> -t <期間> -i <inputfile> -c:a copy <outputfile>

・「-ss」は「set the start time offset」の略、開始時間を指定する
・「-t」は「duration」でカットする期間を指定する
・「-c:a copy」は「-acodec copy」の略、再エンコードせずコピーを強制する


input.mp3の開始30秒から10分間(元ファイルの10分30秒まで)を出力したい場合、下記のようになります。

例1)
ffmpeg -ss 30 -t 600 -i input.mp3 -c:a copy output.mp3

例2)
ffmpeg -ss 00:30 -t 10:00 -i input.mp3 -c:a copy output.mp3

※「-ss」と「-t」の記載フォーマットは公式ドキュメントに説明があります。
 →https://ffmpeg.org/ffmpeg-utils.html#time-duration-syntax

VirusTotalの公式APIライブラリ「vt-py」を使ってみた。


はじめに

VirusTotalの自動化について調べていたら、「vt-py」というライブラリを見つけたので使ってみる。

「vt-py」について

「vt-py」とは?

Virus Totalの公式APIに「VirusTotal API v3」があります。

で、「VirusTotal API v3」のPython用公式クライアントライブラリが「vt-py」です。
vt-py」を使うと、「VirusTotal API v3」をより簡単に利用できる(と思われます。)

<公式サイト>
GitHubhttps://github.com/VirusTotal/vt-py
ドキュメント:https://virustotal.github.io/vt-py

vt-py」以外にもサードパーティ製のライブラリがいくつか存在するようです。

動作環境

Python 3.6.0以上

できること

「vt-py」でできること

  1. ファイル、URL、ドメインなどに関する情報をVTから取得する
  2. ファイルと URL のスキャン
  3. VirusTotal Intelligence 検索の実行(詳細
  4. LiveHunt のルールセットと通知を管理する(詳細
  5. Retrohunt ジョブを起動してマッチしたものを取得する(詳細
  6. VirusTotal グラフを操作する(詳細
  7. etc...

1,2は基本無料(一部有料)、3~6は有料と思われます。
(何が無料で、何が有料なのか調べても今一つわからなかったで正しくないかも)

  • 無料:アカウント作成&Public APIキー取得
  • 有料:VirusTotal Enterprise?VirusTotal Premium Service?を購入してPremium APIキーを取得?

APIキーについて

VTのAPIには「Public API」と「Premium API」の2種類あります。

Public APIは無料ですが、1日辺りのリクエスト回数やビジネス用途で使えないといった制限があります。
Premium APIは有償サービス「VirusTotal Enterprise?」「VirusTotal Premium Service?」の購入が必要なようです。
制限の詳細は「Public vs Premium API」に記載されています。

「vt-py」を使うには、APIキーの取得が必要です。今回は「Public API」のAPIキーを取得して使います。
APIキーの取得方法は「Getting started」に記載されています。

使ってみる

「Public API」でできるいくつかの機能を確認してみます。
プログラムの基本的な流れは、以下の通りです。

  1. APIキー使ってVirusTotalに接続
  2. ファイル、URL、ドメインといった調査対象となるオブジェクトの作成と結果取得
  3. 結果を表示

「vt-py」の簡単な使い方は、「クイックスタート」に載っていますが、凝った使い方をする場合は「APIのドキュメント」読んだり、ソースコード調べたりする必要がありそうです。

「vt-py」は事前にpipでインストールします。

> pip install vt-py

ファイル情報をVTから取得する

ファイルのハッシュ値MD5, SHA-1, SHA-256)を基にVTから情報が取得できます。
取得できる情報はAPIのドキュメント「Files」に記載があります。

プログラム
EICARファイルの直近のスキャン時間とスキャン結果を取得してみます。
※「3395856ce81f2b7382dee72602f798b642f14140」はEICARファイルのSHA-1です。

import vt

apikey = "<apikey>"
filehash = "3395856ce81f2b7382dee72602f798b642f14140"

client = vt.Client(apikey)
file = client.get_object("/files/{}", filehash)

client.close()

print(file.get("last_analysis_date"))
print(file.get("last_analysis_stats"))

fileオブジェクトの情報は「vars(file)」や「dir(file)」で見ることができます。

実行結果

>>> print(file.get("last_analysis_date"))
1622838165

>>> print(file.get("last_analysis_stats"))
{'harmless': 0, 'type-unsupported': 9, 'suspicious': 0, 'confirmed-timeout': 0, 'timeout': 0, 'failure': 0, 'malicious': 61, 'undetected': 5}

ファイルをスキャンする

ファイルを送信してスキャンします。
取得できる情報はAPIのドキュメント「Analyses」に記載があります。

プログラム
試しにWindows10の計算機(calc.exe)を送信してみます。

import vt

apikey = "<apikey>"
filepath = "C:\Windows\System32\calc.exe"

client = vt.Client(apikey)

with open(filepath, "rb") as f:
    analysis = client.scan_file(f)

while True:
    analysis = client.get_object("/analyses/{}", analysis.id)
    print(analysis.status)
    if analysis.status == "completed":
        break
    time.sleep(30)

client.close()

print(analysis.get("_id"))
print(analysis.get("date"))
print(analysis.get("stats"))

実行結果

>>> print(analysis.get("_id"))
Zjg4Y2MwNTEzNGM1NTVkNGUxY2QxZGVmNzgxNjJhOWE6MTYyMjkwNzAzMg==

>>> print(analysis.get("date"))
1622907032

>>> print(analysis.get("stats"))
{'harmless': 0, 'type-unsupported': 5, 'suspicious': 0, 'confirmed-timeout': 0, 'timeout': 0, 'failure': 0, 'malicious': 0, 'undetected': 69}

URL情報をVTから取得する

import vt

apikey = "<api key>"
url = "https://google.co.jp"

client = vt.Client(apikey)
url_id = vt.url_id(url)
url = client.get_object("/urls/{}", url_id)

client.close()

print(url.get("categories"))
print(url.get("last_analysis_date"))
print(url.get("last_analysis_stats"))

URL をスキャンする

プログラム

import vt

apikey = "<apikey>"
url = "https://google.co.jp"

client = vt.Client(apikey)
analysis = client.scan_url(url)

while True:
    analysis = client.get_object("/analyses/{}", analysis.id)
    print(analysis.status)
    if analysis.status == "completed":
        break
    time.sleep(30)

client.close()

print(analysis.get("_id"))
print(analysis.get("date"))
print(analysis.get("stats"))

実行結果

>>> print(analysis.get("_id"))
u-7f7c5306ba7987cb80bedf158c4c092aa5c2d21599ec0fcda2c382289623408b-1622924400

>>> print(analysis.get("date"))
1622924400

>>> print(analysis.get("stats"))
{'harmless': 80, 'malicious': 0, 'suspicious': 0, 'undetected': 8, 'timeout': 0}

ドメイン情報をVTから取得

ドメインに関する情報をVTから取得できます。
取得できる情報はAPIのドキュメントに記載があります。

プログラム
「yahoo.co.jp」について取得してみます。

import vt

apikey = "<apikey>"
domain = "yahoo.co.jp"

client = vt.Client(apikey)
file = client.get_object("/domains/{}", domain)

client.close()

print(file.get("categories"))
print(file.get("last_analysis_stats"))
print(file.get("whois"))

実行結果

# 各サービスでのドメインの分類
>>> print(file.get("categories"))
{'Forcepoint ThreatSeeker': 'search engines and portals', 'sophos': 'portal sites', 'BitDefender': 'news', 'Comodo Valkyrie Verdict': 'mobile communications', 'alphaMountain.ai': 'Search Engines/Portals'}

# 直近のスキャン結果
>>> print(file.get("last_analysis_stats"))
{'harmless': 77, 'malicious': 0, 'suspicious': 0, 'undetected': 8, 'timeout': 0}

# whois情報
>>> print(file.get("whois"))
g. [Organization] Yahoo Japan Corporation
l. [Organization Type] Corporation
p. [ネームサーバ] ns01.yahoo.co.jp
p. [ネームサーバ] ns02.yahoo.co.jp
p. [ネームサーバ] ns11.yahoo.co.jp
p. [ネームサーバ] ns12.yahoo.co.jp

感想

単純なスキャンや情報取得であれば、今回のように「vt-py」を使うのが楽かなと思いました。

しかし、凝ったことをやる場合は「vt-py」と「VirusTotal API v3」の両方を調べることになりそうので、「VirusTotal API v3」だけ使えば良いのでは?という感想です。

北朝鮮製OS「Red Star OS 3.0」のインストール時の言語を変更する

北朝鮮製OS「Red Star OS 3.0」のインストール時の表示言語をハングルから英語に変更します。

f:id:tarenagashi_info:20210516203717p:plain

目的

北朝鮮が国家として開発するOSに「Red Star OS」があります。FedoraベースのLinux OSとなります。
「Red Star OS」については、英語版Wikipediaハングル版Wikipediaが詳しいです。

インストール時の言語もOS表示言語もハングルとなりますが、Linuxベースなので他の言語に変更できるはずです。OS表示言語はロケール(locale)で簡単に変えられるはずなので、今回はインストール時の言語を英語に変更してみます。

「Red Start OS」にはいくつかVersionがありますが、今回は「Red Star OS 3.0 Desktop」を使用します。
「Red Start OS 3.0 Desktop」のUIはMacOSに似せた作りとなっています。

f:id:tarenagashi_info:20210516182305p:plain:w450

インストール時の言語の変更

インストールISOの入手

インストールISOは、Google検索すると見つかります。ハッシュ値は以下の通りです。

名前:redstar_desktop3.0_sign.iso
サイズ: 2614644736 バイト (2493 MiB)
SHA1: 3EB7CA51105614F3716CEB7DAD0CEDA9BA0F906A
SHA256: 895AD0E01AE0D35A65E9AC42DD34D0A1D685D6DFA331CE5B4F24BBC753439BE3

インストールISOの解凍

7-zipなどを使ってISOファイルを解凍します。ISOをマウントして中身をコピーしても良いです。

f:id:tarenagashi_info:20210516173437p:plain:w450

設定ファイルの書換え

インストーラの設定ファイル「.\isolinux\isolinux.cfg」を開き、langを「ko」から「en」に変更する。

f:id:tarenagashi_info:20210516173532p:plain:w450

[変更前]
  append initrd=initrd.img quiet lang=ko keymap=us selinux=1

[変更後]
  append initrd=initrd.img quiet lang=en keymap=us selinux=1

ブータブルISOの作成

ブータブルISOを作成します。「cdrtfe-1.5.8portable」を使いました。

参考:【 ブートCD/DVDを作成する 】 | 日経クロステック(xTECH)

「cdrtfe-1.5.8portable」をダウンロードして解凍する。
「.\tools\cdrtools」にある「mkisofs.exe」を使います。
「.\tools\cygwin\cygwin1.dll」を「mkisofs.exe」と同じフォルダにコピペします。

f:id:tarenagashi_info:20210516173923p:plain:w450

> cd <iso化するフォルダ/ディレクトリのパス>
> mkisofs.exe -v -r -J -o ../redstar_desktop3.0_en.iso -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table .

-o 出力ファイルパス
-b ブート・イメージ
-c ブート・カタログ

ISOができます。

f:id:tarenagashi_info:20210516174041p:plain:w450

確認結果

作成したISOからインストールします。
大部分は英語になりました。一部ハングルが残りますが、テキストではなく画像のためか英語訳が無いからだと思われます。

ちなみに、「en」の部分を「ja」や「jp」に変更しても。日本語にはできませんでした。

インストール画面

左が「ハングル(ko)」、右が「英語(en)」になります。

f:id:tarenagashi_info:20210601030236p:plain
f:id:tarenagashi_info:20210601030424p:plain
f:id:tarenagashi_info:20210601030437p:plain
f:id:tarenagashi_info:20210601030448p:plain
f:id:tarenagashi_info:20210601030500p:plain
f:id:tarenagashi_info:20210601030511p:plain
f:id:tarenagashi_info:20210601030523p:plain
f:id:tarenagashi_info:20210601030535p:plain
f:id:tarenagashi_info:20210601030546p:plain

Windows10の標準コマンドでパケットキャプチャ

Windows10の標準コマンド「pktmon(パケットモニター)」でパケットキャプチャしてみる。

f:id:tarenagashi_info:20210506050705p:plain:w600

はじめに

Windows10の標準コマンド「pktmon(パケットモニター)」でパケットキャプチャをしてみます。
「pktmon」はパケットキャプチャツールというよりは、パケットキャプチャもできるNWトラブルシュートツールという位置付けなようです。

docs.microsoft.com

パケットキャプチャ

コマンドオプションは下記に説明があるが、内容が古いため「help」を使って調べた方が無難です。
※例)pktmon start help

docs.microsoft.com

ログ取得開始/終了

管理者として起動したPowerShell/コマンドプロンプトで以下コマンドを実行します。

・ログ取得開始
> pktmon start -c --pkt-size 0
> pktmon start -c --pkt-size 0 --comp [コンポーネントID]

・ログ取得終了
> pktmon stop

startについて

  • デフォルトでは各パケットの先頭128Byteのみ記録されるため、「--pkt-size」に0を指定する。
  • 「--comp」でログ取得するコンポーネントを指定可能。「--comp」を指定しない場合、全てのログを取得する。ログ取得後に特定コンポーネントのみログを抜き出すことも可能。
    コンポーネントは「pktmon comp list --all」で確認する。下記では「146」がIPv6「147」IPv4ARP
>pktmon comp list --all

NIC: Intel(R) Ethernet Connection (6) I219-V
    ID: 13
    ドライバー: e1d68x64.sys
    MAC アドレス: XX-XX-XX-XX-XX-XX
    ifIndex: 28

    フィルター ドライバー:
        ID ドライバー          名前
        -- -----          --
        61 wfplwfs.sys    WFP Native Filter
        60 npcap.sys      Npcap Packet Driver (NPCAP)
        59 VBoxNetLwf.sys VirtualBox NDIS Light-Weight Filter
        58 pacer.sys      QoS Packet Scheduler
        57 wfplwfs.sys    WFP 802.3 Filter

    プロトコル:
         ID ドライバー           名前          EtherType
         -- -----           --          ---------
        146 tcpip.sys       TCPIP6      IPv6
        147 tcpip.sys       TCPIP       IPv4, ARP
        142 vmnetbridge.sys VMNETBRIDGE * (All)
        136 lltdio.sys      LLTDIO      * (All)
        135 mslldp.sys      MSLLDP      LLDP
        130 rspndr.sys      RSPNDR      VLAN, LLTD
        125 ndisuio.sys     NDISUIO     VLAN, 802.1X, 802.11i

ログファイルについて

  • ファイルはETL形式で保存(取得後に変換可)
  • デフォルトのファイル名は「PktMon.etl」(オプションで変更可)
  • デフォルトの最大サイズは512MB、それを超えると上書きされる(オプションで変更可)

フィルタ

tcpdumpと同様にフィルタ設定が可能、複数行の設定も可能。
※ログ取得開始前に設定しておく必要があります。

・フィルタ設定例
> pktmon filter add -i 8.8.8.8 -t udp -p 53

・フィルタの表示
> pktmon filter list

・フィルタのクリア
> pktmon filter remove

ファイル形式の変換

Wireshark形式(pcapeng)やテキスト形式へ変換可能。特定コンポーネントのみ出力も可能。

・Wireshark形式(pcapeng)への変換
> pktmon etl2pcap [ETL形式ファイル名]
> pktmon etl2pcap [ETL形式ファイル名] --component-id  [コンポーネントID]

・テキスト形式への変換
> pktmon etl2txt [ETL形式ファイル名]
> pktmon etl2txt [ETL形式ファイル名] --component-id  [コンポーネントID]

ChromeでTorに接続する

Chromeアプリ「Kronymous」でTorに接続します。

はじめに

組織管理のPCでは、Torのインストールが制限されていることがあります。
Chromeアプリ「Kronymous」を使うと、そういった環境でもTorを使用できる可能性が高いです。
ということで、Chromeのアプリ「Kronymous」を使ってTorに接続してみます。

しかし、Chromeアプリは段階的にサポートが終了しているので、この方法も近い未来使えなくなってしまうかもしれない。
gigazine.net

「Kronymous」について

「Kronymous」はChrome上でネイティブコードを実行する機能「Portable Native Client (PNaCl)」を使ってTorプロキシとして動作する模様。
制作者の「Deepankar Tyagi」は現在Googleで働いており、「Kronymous」は学生時代に作ったものらしい。

「Kronymous」の公式サイト
https://deepankar.io/kronymous

手順

アプリ「Kronymous」のインストールと起動

1. インストール
Chromeウェブストアから「Kronymous」をインストールします。

f:id:tarenagashi_info:20210502130712p:plain:w600

2. 起動/設定
chrome://apps」から「Kronymous」を起動します。

f:id:tarenagashi_info:20210502131019p:plain:w600

コンソールが開くので「START TOR PROXY」を実行します。
※「Bootstrapped 100%: Done」と表示されたら起動完了
f:id:tarenagashi_info:20210430204854p:plain:w600

「SETTINGS」から設定変更できます。
f:id:tarenagashi_info:20210430205218p:plain:w600

注意点

  • 「Kronymous」はプロキシサーバとして動作するので使用中は常に起動しておくこと
  • 設定画面を開いた場合、再度「START TOR PROXY」の実行が必要
  • 起動が不安定な場合は「RESTART TOR PROXY」を何度か行うと起動できる

プロキシ利用設定

Kronymousは「socks5://127.0.0.1:9999」でサービスを提供するので、このプロキシを通るように設定します。

f:id:tarenagashi_info:20210430214254p:plain:w600

プロキシ設定は「Proxy Helper」などの拡張機能で設定した方が良いようです。
OS標準機能で設定するとDNS通信がTor経由とならず、.onionサイトに接続できないっぽい。
(→送信元IPの隠匿目的ならOS標準機能での設定で問題ない)

この理由ですが、socks5の前身socks4ではProxy側でのDNS解決をサポートしておらず、デバイス側でのDNS解決しかできなかったそうです。socks5からはProxy側でもDNSを解決できるようになったようですが、OS標準機能のプロキシ設定だとそのように構成されないのだと思います。

動作確認

IP確認くんやonionドメインのサイトに接続して動作確認します。

DuckDuckGohttps://3g2upl4pq6kufc4m.onion)にアクセスした場合
f:id:tarenagashi_info:20210430220245p:plain:w600

Windows XPをXP Modeから抜き出して仮想環境で動かす

Windows XP環境を使いたいなーと思ってググったら、「XP Mode」からWindows XPの仮想ディスクを取り出して仮想環境で動かす方法が見つかったので実施してみます。

既に「XP Mode」の公開は終了したみたいです。「XP Mode」はWindows10にインストールできません。


仮想マシンの構築

1. Windows XP Modeのダウンロード

https://www.microsoft.com/ja-jp/download/details.aspx?id=8002

上記の公式サイトに接続すると404となります。「XP Mode」の公開は終了しているみたいです。(しかし、Internet Archiveには残っているらしい。)
 ↓
ttps://web.archive.org/web/20200111124602/http://download.microsoft.com/download/A/2/F/A2F07A26-83C8-41FD-BD1C-76E4ECB4839F/WindowsXPMode_ja-jp.exe

インストーラのファイル名、ハッシュ値は下記です。

名前 WindowsXPMode_ja-jp.exe
サイズ 631040784 バイト (601 MiB)
SHA1 CB70F01EAC34A4039C77E728F7D9AC1D99F6D6A9
SHA256 9983F09FDBF3197A69CA9530849A120E47ADE9C50C29FCF2E09236938BEF16F3

2. インストーラの解凍

インストーラを解凍する

3. 仮想HDDの取り出し

sourcesフォルダがあるので、バッチファイルを作成し実行する。


msiexec.exe /a xpminstl32.msi targetdir=%~dp0xpmode
※「%~dp」はカレントディレクトリ

「xpmode\Program Files\Windows XP Mode」に仮想ディスクができます。

4. 「読み取り専用」の解除

「読み取り専用」となっているので、解除します。

5. 仮想マシンの作成

仮想ディスクを参照する形で仮想マシンを作成します。

ライセンス認証について
この方法で作成したWindowsXPのライセンス期限は30日となっています。
BIOS書き換えで認証済みとなるようですが、有効なライセンスを持ってない場合は問題な気がします。

ハマリポイント

VirtualBoxでGuest Addinのインストールが上手くいかない場合

古いバージョン(5.1.0とか)だとうまくいくかもしれません。
下記からISOをダウンロードし、仮想マシンのCDドライブにマウントして使います。
http://download.virtualbox.org/virtualbox/

VirtualBoxでのリモートデスクトップの設定

1. 仮想マシンの設定を開く
2. ディスプレイ > リモートディスプレイからサーバーを有効化する
 ※ポートはホストOSで使用していないポートを指定します(例:3390)
3. リモートデスクトップで接続する
 ※ホストOSから接続する場合は「localhost:3390」になります。

INetSimを使ってみた

マルウェアの動的解析に利用できる「INetSim」を使ってみたのでメモします。

はじめに

INetSim:(Internet Services Simulation)について

InetSimはマルウェアの動的解析に利用する目的で開発されたツールです。Perlで実装されています。
マルウェアが使用するネットワークプロトコルのサーバー側の動作をシミュレートします。
HTTP(S)、SMTP(S)、DNSといったメジャーなプロトコルに加え、Daytime、Echoなど今日ではほとんど使われないプロトコルもシミュレートします。

<公式サイト>
www.inetsim.org


同様のツールには、fireeyeのFakeNet-NGがあります。
github.com


検証環境

  • Ubuntu 20.04 LTS
  • INetSim 1.3.2

構築

インストール

リポジトリを登録してインストールする

sudo bash
echo "deb http://www.inetsim.org/debian/ binary/" > /etc/apt/sources.list.d/inetsim.list
wget -O - http://www.inetsim.org/inetsim-archive-signing-key.asc | apt-key add -
apt update
apt install inetsim

設定

サービスの待ち受けIPアドレスDNSで返答するIPアドレスを設定する ※デフォルトは127.0.0.1

sudo vi /etc/inetsim/inetsim.conf
→下記を追記
service_bind_address [IPアドレス]
dns_default_ip [IPアドレス]


サービスが利用するファイルは「/var/lib/inetsim」にある。
※証明書、Webコンテンツ、メールボックスなど

ls -l /var/lib/inetsim
total 32
drwxr-xr-x 2 inetsim inetsim 4096  2月 21 00:50 certs
drwxr-xr-x 2 inetsim inetsim 4096  2月 21 00:50 finger
drwxr-xr-x 4 inetsim inetsim 4096  2月 21 00:50 ftp
drwxr-xr-x 5 inetsim inetsim 4096  2月 21 00:50 http
drwxr-xr-x 2 inetsim inetsim 4096  2月 21 00:50 pop3
drwxr-xr-x 2 inetsim inetsim 4096  2月 21 00:50 quotd
drwxrwxr-x 2 inetsim inetsim 4096  2月 21 00:50 smtp
drwxr-xr-x 4 inetsim inetsim 4096  2月 21 00:50 tftp

起動

サービス、もしくプロセスとして起動します。

・サービスとして起動する場合
sudo systemctl start inetsim

・プロセスとして起動する場合
sudo inetsim

ログ

ls -l /var/log/inetsim/
total 40
-rw-rw---- 1 root inetsim     0  2月 21 00:50 debug.log
-rw-rw---- 1 root inetsim 11418  2月 21 02:25 main.log
drwxrwxr-x 2 root inetsim  4096  2月 21 00:50 report
-rw-rw---- 1 root inetsim 22416  2月 21 03:02 service.log

サポートするサービス一覧

No サービス プロトコル ポート番号 用途
1 HTTP tcp 80 HTTP通信
2 HTTPS tcp 443 HTTP通信(TLS対応)
3 SMTP tcp 25 メール送信
4 SMTPS tcp 465 メール送信(TLS対応)
5 POP3 tcp 110 メール受信
6 POP3S tcp 995 メール受信(TLS対応)
7 DNS tcp/udp 53 名前解決
8 FTP tcp 21 ファイルやり取り
9 FTPS tcp 990 ファイルやり取り(TLS対応)
10 TFTP udp 69 軽量なファイルやり取り
11 IRC tcp 6667 インスタントメッセンジャー
12 NTP udp 123 時刻同期
13 Ident tcp 113 認証
14 Finger tcp 79 リモートコンピュータの情報取得
15 Syslog udp 514 ログ転送
16 Daytime tcp/udp 13 時刻表示
17 Time tcp/udp 37 時刻同期
18 Echo tcp/udp 7 ラウンドトリップタイム計測
19 Chargen tcp/udp 19 任意の文字列を返答
20 Discard tcp/udp 9 受信データの廃棄
21 Quotd tcp/udp 17 今日のひとことを返答
22 Dummy tcp/udp 1 受信データのログ記録