Windows 명령 줄 : 인터넷을 사용하지 않도록하는 가장 빠른 방법 (LAN 유지)? 0.0.0.0 mask 0.0.0.0 10.0.2.1`

분할 질문 :이 다른 것 여기 리눅스 용입니다.

Windows 명령 줄에서 인터넷 (LAN이 아님)을 비활성화하는 가장 쉬운 방법은 LAN이 10.0.2.0/24이고 게이트웨이가 10.0.2.1이라고 가정 할 때 기본 게이트웨이를 제거하는 것입니다.

`route delete 0.0.0.0 mask 0.0.0.0 10.0.2.1`

인터넷을 다시 활성화하려면,

`route add 0.0.0.0 mask 0.0.0.0 10.0.2.1`

그러나이 간단한 회선이 있더라도 기본 게이트웨이 IP를 먼저 발견해야합니다.

  • Windows의 경우 :

    route print

인터넷을 활성화 / 비활성화 할 필요가있는 범용 쉘 스크립트를 빌드 할 예정입니다. (LAN 작동을 유지해야합니다.) grep 동일한 작업을 필터링하고 정확한 게이트웨이 IP 번호 (10.0.2.1, 127.0.0.1, 127.0.50.1, 192.168.0.1 … 등)를 검색 할 수 있습니다.
어떤 생각이야?

  • 편집 : 어떤 사람들은 Windows에서 게이트웨이 삭제가 다음과 같이 수행 될 수도 있다고보고합니다.

route delete 0.0.0.0

따라서, 분명히 @ 및 @3415에 의해 만들어진 삭제 스크립트를 수정하는 데 문제가 없을 것입니다.



답변

배치 스크립트

비슷하다 @ John1024의 접근 방식 Windows에서이 작업을 수행하는 방법은 다음과 같습니다.

사용 안함

@echo off
cd /d "%~dp0"

REM retrieve the current gateway
set dest=0.0.0.0
for /f "tokens=2,3" %%A in ('"route print %dest% | findstr /c:"%dest%" "') do (

REM save the IP and delete the gateway
echo %%A %%B>%dest%.txt
route delete %dest% >nul
)
exit /b

사용

@echo off
cd /d "%~dp0"

REM ensure the settings file exists
set dest=0.0.0.0
if not exist %dest%.txt exit /b 2

REM restore the default gateway
for /f "tokens=1,2" %%A in (%dest%.txt) do (route add %dest% mask %%A %%B >nul)
exit /b