Windows11 の設定ウィンドウから Windows ファイアウォール規則 を作成して、指定したアプリのネットワーク接続を禁止する規則を作成します。
ネットワーク処理のテストなどで、意図的にネットワーク機能を停止する際に便利です。
このパートでは、Windows ファイアウォールで作成した、接続をブロックする送信の規則の対象のアプリのプログラムのパスを変更する手順を紹介します。

※ 2025 年 11 月 26 日現在の情報です。
前回の記事
他のアプリはネットワークを利用可能
前回、「セキュリティが強化された Windows Defender ファイアウォール」ウィンドウで、指定したアプリ(例:Python の pip.exe)のネットワーク接続をブロックする送信の規則を新規作成しました。
作成された直後の規則は有効化されていますが、Google Chrome など他のアプリのネットワーク接続は正常に行われます。

対象のアプリ pip のネットワークを用いる機能の動作を確認
作成したネットワーク接続をブロックする送信の規則で、指定したアプリである pip.exe の pip download コマンドを実行します。
pip.exe はファイアウォールに作成した規則によってネットワーク接続をブロックされているので、pip download コマンドは失敗すると期待しています。
しかし、pip download コマンドは成功しました。
pip.exe → python.exe → pip モジュール → ネットワーク通信の順で、内部では python.exe が実行されているため、pip.exe ではなく python.exe アプリのネットワーク接続を禁止する必要があるようです。
※複数の python プロジェクトがある場合、ネットワーク接続を禁止するプロジェクトは python 環境を分けておいた方が良いかもしれません。

Microsoft Windows [Version 10.0.26200.7171]
(c) Microsoft Corporation. All rights reserved.
G:\Dev\Py\Download>pip download beautifulsoup4 --no-cache-dir --no-deps -d .
Collecting beautifulsoup4
Downloading beautifulsoup4-4.14.2-py3-none-any.whl.metadata (3.8 kB)
Downloading beautifulsoup4-4.14.2-py3-none-any.whl (106 kB)
Saved g:\dev\py\download\beautifulsoup4-4.14.2-py3-none-any.whl
Successfully downloaded beautifulsoup4
[notice] A new release of pip is available: 25.2 -> 25.3
[notice] To update, run: python.exe -m pip install --upgrade pip
G:\Dev\Py\Download>pip download コマンドについて
本題とはそれますが、アプリのネットワーク接続のブロックの確認のために行う、以下の pip download コマンドについて少し説明します。
興味がない場合は次の章までスキップしてください。
HTML 解析に使える beautifulsoup4 パッケージをこの pip が置かれている python 環境にインストールします。
pip download beautifulsoup4 --no-deps -d .
–no-deps はキャッシュを使用しないための指示です。ダウンロードできない際にキャッシュを使用することを禁止しています。
-d のあとに相対パスで現在のフォルダに保存するように指定しています。
pip downloaddoes the same resolution and downloading aspip install, but instead of installing the dependencies, it collects the downloaded distributions into the directory provided (defaulting to the current directory).pip download は pip install と同じ解決とダウンロードを行いますが、依存関係をインストールする代わりに、ダウンロードされたディストリビューションを指定されたディレクトリ (デフォルトは現在のディレクトリ) に収集します。
pip download – pip documentation v25.3 と Google 翻訳
C ドライブ直下でダウンロードしようとすると、フォルダが作成できないエラーが発生するので、他のフォルダで実行します。

C:\>pip --version
pip 25.2 from C:\Users\UserName\AppData\Local\Programs\Python\Python314\Lib\site-packages\pip (python 3.14)
C:\>pip download beautifulsoup4 --no-deps -d .
[notice] A new release of pip is available: 25.2 -> 25.3
[notice] To update, run: python.exe -m pip install --upgrade pip
ERROR: Exception:
Traceback (most recent call last):
File "C:\Users\UserName\AppData\Local\Programs\Python\Python314\Lib\site-packages\pip\_internal\cli\base_command.py", line 107, in _run_wrapper
status = _inner_run()
File "C:\Users\UserName\AppData\Local\Programs\Python\Python314\Lib\site-packages\pip\_internal\cli\base_command.py", line 98, in _inner_run
return self.run(options, args)
~~~~~~~~^^^^^^^^^^^^^^^
File "C:\Users\UserName\AppData\Local\Programs\Python\Python314\Lib\site-packages\pip\_internal\cli\req_command.py", line 71, in wrapper
return func(self, options, args)
File "C:\Users\UserName\AppData\Local\Programs\Python\Python314\Lib\site-packages\pip\_internal\commands\download.py", line 86, in run
ensure_dir(options.download_dir)
~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\UserName\AppData\Local\Programs\Python\Python314\Lib\site-packages\pip\_internal\utils\misc.py", line 99, in ensure_dir
os.makedirs(path)
~~~~~~~~~~~^^^^^^
File "<frozen os>", line 236, in makedirs
PermissionError: [WinError 5] アクセスが拒否されました。: 'c:\\'規則でネットワーク接続をブロックするプログラムの変更
pip download コマンドを、ネットワーク接続のブロックによって失敗させるには、pip.exe が内部で呼んでいる python.exe のネットワーク接続をブロックする必要があります。
そこで、前回作成した pip.exe アプリのネットワーク接続をブロックする送信の規則で指定するプログラムを変更します。
前回の記事と同様に「セキュリティが強化された Windows Defender ファイアウォール」ウィンドウを開き、左側のリストで「送信の規則」を選択して、中央のリストから作成した規則(例:pip ネットワーク接続切り替え)を選択してから、右側のリストに表示されたその規則の「プロパティ」を選択します。

選択した規則のプロパティのダイアログが表示されます。
「全般」タブでは、規則の名前や説明文を変更できます。
また、規則の有効・無効や、操作(例:接続をブロックする)を選択できます。

「プログラムおよびサービス」タブの「プログラム」セクションで「次のプログラム」ラジオボタンを選択していると、指定するアプリ(プログラム)のパスを変更できます。
例では、 pip.exe の1階層上にある python.exe にブロックする対象のアプリを変更しました。
変更が済んだら OK ボタンでダイアログを閉じます。

「全般」タブで名前を変更していると、中央のリストなどに表示されている規則の名前も変更が反映されます。
以上で、送信の規則で指定するアプリの変更(例:pip.exe から上位フォルダの python.exe)が完了しました。

ネットワーク接続のブロックによるアプリのエラーの確認
前章で行った変更によって、Windows ファイアウォールで python.exe のネットワーク接続をブロックしていると、その後、開いたコマンドプロンプトで pip download コマンドが期待した通り失敗しました。

Microsoft Windows [Version 10.0.26200.7171]
(c) Microsoft Corporation. All rights reserved.
G:\Dev\Py\Download>pip download beautifulsoup4 --no-cache-dir --no-deps -d .
WARNING: Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<pip._vendor.urllib3.connection.HTTPSConnection object at 0x000001D6FDAB56A0>: Failed to establish a new connection: [WinError 10013] アクセス許可で禁じられた方法でソケットにアクセスしようとしました。')': /simple/beautifulsoup4/
WARNING: Retrying (Retry(total=3, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<pip._vendor.urllib3.connection.HTTPSConnection object at 0x000001D6FDAA4F50>: Failed to establish a new connection: [WinError 10013] アクセス許可で禁じられた方法でソケットにアクセスしようとしました。')': /simple/beautifulsoup4/
WARNING: Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<pip._vendor.urllib3.connection.HTTPSConnection object at 0x000001D6FDAA5090>: Failed to establish a new connection: [WinError 10013] アクセス許可で禁じられた方法でソケットにアクセスしようとしました。')': /simple/beautifulsoup4/
WARNING: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<pip._vendor.urllib3.connection.HTTPSConnection object at 0x000001D6FDAA51D0>: Failed to establish a new connection: [WinError 10013] アクセス許可で禁じられた方法でソケットにアクセスしようとしました。')': /simple/beautifulsoup4/
WARNING: Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<pip._vendor.urllib3.connection.HTTPSConnection object at 0x000001D6FDAA5310>: Failed to establish a new connection: [WinError 10013] アクセス許可で禁じられた方法でソケットにアクセスしようとしました。')': /simple/beautifulsoup4/
ERROR: Could not find a version that satisfies the requirement beautifulsoup4 (from versions: none)
ERROR: No matching distribution found for beautifulsoup4まとめ
- Windows ファイアウォール規則で作成した送信の規則で、ネットワーク接続をブロックする対象のアプリの変更の手順を紹介しました。
- Python の pip.exe のネットワーク接続を禁止したい場合は、内部で呼び出している上位のフォルダの python.exe のネットワーク接続をブロックする必要があります。
パート 3/3 に続きます。
参照サイト Thank You!
記事一覧 → Compota-Soft-Press


コメント