コンテンツにスキップ

network

SOCKSプロトコルを完全に理解する(SOCKS 5編)

以前の記事では、SOCKS 4について紹介しました。SOCKS 4は、TCP接続を代理転送するためのシンプルなプロトコルですが、現代的な用途で見るといくつかの制約があります。代表的なのは、次の2点です。

  • 宛先をIPv4アドレスで指定する必要があり、ドメイン名をそのまま扱えない
  • 認証やUDP転送を標準機能として持たない

この不足を補うために登場したのが、SOCKS 4aとSOCKS 5です。

SOCKS 4aは、SOCKS 4の設計をほぼ維持したまま、サーバー側の名前解決を可能にした拡張です。一方のSOCKS 5は、認証方式のネゴシエーション、IPv6、ドメイン名指定、UDP転送などを含む、より汎用的な設計になっています。

この記事では、まずSOCKS 4aが何を解決したのかを確認し、そのうえでSOCKS 5のTCP転送とUDP転送の仕組みを、パケットの中身を追いながら整理します。

SOCKSプロトコルを完全に理解する(SOCKS 4編)

SOCKSプロトコルは、ややニッチな存在です。HTTP/HTTPSプロキシに似ていますが、HTTP/HTTPSに限らず、TCP/UDP全般を中継できる点が特徴です。

しかし、ネットワークエンジニアであっても、「SOCKSはどのような仕組みで動くのか」「SOCKS 4 / SOCKS 4a / SOCKS 5にはどのような違いがあるのか」まで理解している人は、意外と多くありません。

本記事では、まずSOCKS 4に焦点を当てます。他のバージョンとの違い、通信フロー、パケット構造、制限事項を整理し、プロトコルレベルでSOCKS 4を理解することを目指します。

sing-boxを使用した通信中継:サーバー編

sing-box は、複数のプロキシプロトコルやルーティング設定をひとつの設定ファイルで扱える汎用プロキシプラットフォームです。この記事ではサーバー側の構成に焦点を当て、sing-box の基本的な考え方、インストール方法、最小構成の設定を紹介します。

Cisco ASA 5506-XをFTDからASA OSに変更してみた

Cisco ASA 5500-X シリーズでは FTD(FirePOWER Threat Defense)と ASA OS の 2 種類の OS を利用できますが、VPN 用途では ASA OS を使いたいケースもあります。本記事では、FTD から ASA OS へ切り替える手順を解説します。rommon でのストレージ初期化、TFTP ブート、ASA イメージのインストール、ライセンス設定までを紹介します。