「指定されたポートは既に開かれています」というエラーメッセージの原因とは。「Windows」「Linux」「macOS」などOSが異なっても、根本的な問題は共通している。トラブルシューティングのポイントを紹介する。
「指定したポートは既に開かれています」(The specified port is already open)というエラーメッセージがPC利用中に表示される場合がある。前編「『ポートは使用中です』『ポートは既に開かれています』のエラーが出る原因は?」は、このエラーを引き起こす4つの原因のうち、2つを紹介した。本稿は残る2つの原因と、トラブルシューティングの方法を紹介する。
VPN(仮想プライベートネットワーク)のクライアントソフトウェアが使用するポートを、他のアプリケーションが使用することでこのエラーを引き起こすことがある。この問題を解決するには、VPNのクライアントソフトウェアの予約済みポートを他のアプリケーションが使用しないように、「Windows」のレジストリ(設定情報のデータベース)を編集する。衝突を引き起こしているアプリケーションは、ネットワーク接続の状態を表示するコマンド「netstat」を使って確認できる。
「Windows 10」におけるセキュリティ機能の向上に伴い、このエラーが発生しやすくなっている。インターネットには「Windows 10を使い始めてから、このエラーが発生し始めた」というユーザーからの報告が相次いでいる。ただし、これはOSの更新を回避する正当な理由にはならない。
「Linux」「UNIX」「macOS」でも同様のエラーは発生するが、表示されるエラーメッセージは少し異なる。これらのOSでも、基本的な問題はWindowsの場合と同じだ。共有不可能なネットワークリソースを、複数のアプリケーションが同時に使用しようとすると発生する。netstatのコマンドで衝突を引き起こしているアプリケーションを特定できることも、Windowsの場合と同様だ。
Windows以外のOSで、「指定したポートは既に開かれています」といったエラーメッセージが表示される主な原因は、「SSHポートフォワーディング」(SSH:Secure Socket Shell)を使用することだ。SSHポートフォワーディングとは、SSH接続による通信経路を使って、遠隔にあるコンピュータの特定のポートにデータを転送する仕組みを指す。
SSH接続が途切れた後にすぐにSSHポートフォワーディングを実行しようとすると、「アドレスは既に使用されています」(Address already in use)というエラーメッセージが表示される可能性がある。TCP(Transmission Control Protocol)が、ネットワーク接続を切断する最後の処理を待たなければならないからだ。この状態はnetstatのコマンドで確認すると「TIME_WAIT」と表示される。これは接続を切断できる状態になったことを示す。数分待てば、アプリケーションは問題になっているポートを再び使用できるようになる。
「指定したポートは既に開かれています」と同様のエラーメッセージは他にもあり、それらが発生する原因はおおむね共通している。共有不可能なネットワークリソースを他のアプリケーションが使用しようとしていたり、OSにロックされてしまったりすることだ。ただし紛らわしいことに、細部は異なる。本稿で紹介した複数の原因を頭に入れて状況を見極めれば、解決策の絞り込みができる。
米国TechTargetの豊富な記事の中から、最新技術解説や注目分野の製品比較、海外企業のIT製品導入事例などを厳選してお届けします。
Copyright © ITmedia, Inc. All Rights Reserved.
お知らせ
米国TechTarget Inc.とInforma Techデジタル事業が業務提携したことが発表されました。TechTargetジャパンは従来どおり、アイティメディア(株)が運営を継続します。これからも日本企業のIT選定に役立つ情報を提供してまいります。
Metaに潰されないために残された生き残りの道は?――2025年のSNS大予測(Snapchat編)
若年層に人気のSnapchatだが、大人にはあまり浸透していない。一方で、AR(拡張現実)開...
「猛暑」「米騒動」「インバウンド」の影響は? 2024年に最も売り上げが伸びたものランキング
小売店の推定販売金額の伸びから、日用消費財の中で何が売れたのかを振り返るランキング...
Netflixコラボが止まらない 「イカゲーム」シーズン2公開で人気爆上がり必至のアプリとは?
Duolingoは言語学習アプリとNetflixの大人気ドラマを結び付けたキャンペーンを展開。屋外...