MACアドレスを大文字コロン形式に正規化
MACアドレスフォーマッターは、一般的なハードウェアアドレス表記を一貫した形に変換します。コロン、ハイフン、ピリオド、空白、または区切りなしで記載されたアドレスを入力すると、大文字の16進数6オクテットをコロンで区切って返します。記号を置換するだけでなく、認識可能な区切り文字を除いた後に16進数が正確に12桁残ることも検証します。そのため、設定ファイル、資産台帳、ログ、APIペイロード、表記差を排除した比較に安心して利用できます。
無料で実行
一般的なMAC表記を1つの正規値に変換します
同じインターフェースでも、MACアドレスは異なる外観で表示されます。端末では<code>a4-b1-c1-22-3d-4e</code>、ネットワーク機器では<code>a4b1.c122.3d4e</code>、台帳では<code>A4:B1:C1:22:3D:4E</code>となる場合があります。単純な文字列比較では別の値と扱われ、資産の重複、検索漏れ、照合レポートのノイズにつながります。本機能は認識可能な区切り文字を除去し、16進数列を検証して文字を大文字に変換し、2文字ずつ6オクテットにまとめます。出力は常に<code>A4:B1:C1:22:3D:4E</code>の形です。区切りなしの12桁や空白区切りも受け付けます。メーカーの特定、機器への接続、使用状況の確認は行いません。他のシステムが一貫して保存、比較、索引化、表示できる安定した値を作ることに限定しています。
記号の置換だけでなくアドレスを検証します
整形によって不正なデータを正しく見せてはいけません。本機能は空でないテキストを要求し、16進文字と一般的な区切り文字であるコロン、ハイフン、ピリオド、空白だけを許可します。区切り文字を除いた後、2桁ずつの6オクテットに相当する16進数12桁が残るか確認します。許可外の文字、桁の不足や超過、記号だけの入力には、部分的な結果ではなく入力エラーを返します。コピーしたデータでは表記が混在するため区切り位置は柔軟に扱いますが、16進数の長さは厳密です。Cisco形式のグループも前処理なしで正規化できます。後続処理が受け取るのは正規アドレスか明確なエラーであり、推測で補完した値や構造が不正なまま見た目だけ整えた値ではありません。
保存と比較には正規表記をご利用ください
MACアドレスをデータベースキー、フィルター、自動比較に使う前に正規化してください。資産台帳の取り込み、コマンド出力の読取り、サポート依頼の処理、フォーム入力の受付に利用できます。返された<code>mac_address</code>を保存し、利用者が入力した記号ではなく正規値同士を比較します。16進数の各桁を保ったまま、大文字・小文字と区切りの差をなくせます。本フォーマッターは決定的で、同じ有効な入力から常に同じ出力を生成します。ネットワーク、乱数、時刻、機器照会、メーカーDBは使いません。また、実在するインターフェースへの所属も保証しません。構文上有効でも、未使用、ローカル管理、マルチキャスト、ポリシー不適合の場合があります。それらは別の検査対象です。ここでは、認識可能な表記を6オクテットに変換し、12桁にならないデータを拒否します。
活用例
資産台帳を整理する
複数メーカーのアドレスを正規化してから、ノートPC、アクセスポイント、プリンターなどの重複を除きます。
設定値を準備する
機器からコピーした出力を統一表記に変換してから、設定ファイルやAPIペイロードへ挿入します。
フォームと取込データを検証する
一般的な区切り表記を受け付けながら、6オクテットにならないレコードを拒否します。
よくある質問
どのMACアドレス形式に対応していますか?
コロン、ハイフン、ピリオド、空白による区切りと、区切りなしに対応します。区切り文字は混在可能ですが、16進数12桁が必要です。
結果はどの形式になりますか?
A4:B1:C1:22:3D:4Eのように、大文字2桁の6オクテットをコロンで区切ります。
機器が実在するか確認しますか?
いいえ。文字構造の検証と正規化だけを行い、ネットワーク照会、機器への接続、割当確認は行いません。
ハードウェアメーカーを特定しますか?
いいえ。メーカー検索は対象外であり、外部データベースにはアクセスしません。
長さが正しくない場合はどうなりますか?
区切り文字を除いても6オクテット相当の16進数12桁にならない場合は、入力エラーを返します。
1回のリクエスト料金はいくらですか?
APIリクエスト1回につき$0.002です。決定的な処理のため、生成されたブラウザー実行経路にも適しています。
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/data/mac-address-format \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"a4-b1-c1-22-3d-4e"}'const res = await fetch("https://api.kit.forhosting.com/data/mac-address-format", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text": "a4-b1-c1-22-3d-4e"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/data/mac-address-format",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text": "a4-b1-c1-22-3d-4e"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/data/mac-address-format", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text":"a4-b1-c1-22-3d-4e"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"a4-b1-c1-22-3d-4e"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/data/mac-address-format", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"text": "a4-b1-c1-22-3d-4e"
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "data.mac_address_format",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}非同期APIです。task_idは即時に返ります。ポーリングは1秒あたり1リクエストまでです。
料金
単価はすべて公開しています。トークン換算や独自クレジットはありません。失敗したタスクは課金されません。
制限
max_mb | 25 |
エラー
| HTTP | コード | 意味 |
|---|---|---|
401 | unauthorized | APIキーが無効か、指定されていません。Authorizationヘッダーを確認してください。 |
402 | insufficient_balance | 残高が不足しています。チャージ後に再度お試しください。 |
404 | unknown_type | 指定されたタスクタイプは存在しません。タイプ名を確認してください。 |
429 | rate_limited | リクエストが多すぎます。しばらく待ってから再度お試しください。 |