「指定されたポートは既に開かれています」の原因とトラブルシューティングネットワーク接続エラーの原因と解消法【後編】

「指定されたポートは既に開かれています」というエラーメッセージの原因とは。「Windows」「Linux」「macOS」などOSが異なっても、根本的な問題は共通している。トラブルシューティングのポイントを紹介する。

2021年06月18日 05時00分 公開
[Terry SlatteryTechTarget]

 「指定したポートは既に開かれています」(The specified port is already open)というエラーメッセージがPC利用中に表示される場合がある。前編「『ポートは使用中です』『ポートは既に開かれています』のエラーが出る原因は?」は、このエラーを引き起こす4つの原因のうち、2つを紹介した。本稿は残る2つの原因と、トラブルシューティングの方法を紹介する。

「指定したポートは既に開かれています」というエラーが出る原因

原因3.他のアプリケーションによるVPNポートの使用

 VPN(仮想プライベートネットワーク)のクライアントソフトウェアが使用するポートを、他のアプリケーションが使用することでこのエラーを引き起こすことがある。この問題を解決するには、VPNのクライアントソフトウェアの予約済みポートを他のアプリケーションが使用しないように、「Windows」のレジストリ(設定情報のデータベース)を編集する。衝突を引き起こしているアプリケーションは、ネットワーク接続の状態を表示するコマンド「netstat」を使って確認できる。

 「Windows 10」におけるセキュリティ機能の向上に伴い、このエラーが発生しやすくなっている。インターネットには「Windows 10を使い始めてから、このエラーが発生し始めた」というユーザーからの報告が相次いでいる。ただし、これはOSの更新を回避する正当な理由にはならない。

原因4.SSHポートフォワーディング

 「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トレンド

米国TechTargetの豊富な記事の中から、最新技術解説や注目分野の製品比較、海外企業のIT製品導入事例などを厳選してお届けします。

ITmedia マーケティング新着記事

news149.jpg

最も利用率の高いショート動画サービスはTikTokではない?
ADKマーケティング・ソリューションズは、ショート動画に関する調査結果を発表しました。

news131.jpg

古くて新しいMMM(マーケティングミックスモデリング)が今注目される理由
大手コスメブランドのEstee Lauder Companiesはブランドマーケティングとパフォーマンス...

news087.png

Yahoo!広告 検索広告、生成AIがタイトルや説明文を提案してくれる機能を無料で提供
LINEヤフーは「Yahoo!広告 検索広告」において、ユーザーが誘導先サイトのURLを入力する...