Wi-Fi는 연결됐는데 인터넷이 안 될 때 확인할 순서
Wi-Fi가 연결됐다고 나오는데 사이트가 안 열리면, 먼저 같은 브라우저에서 다른 공식 사이트도 열어 보세요. 한 사이트만 실패하는지, 이 PC의 두 사이트가 모두 실패하는지를 나누면 다음에 확인할 대상을 좁힐 수 있습니다.
다른 기기가 있으면 같은 Wi-Fi인지 확인한 뒤 비교합니다. 기기가 없으면 확인 못 했다고 남기면 됩니다. DNS·VPN·공유기 초기화부터 적용하지 않고 현재 결과와 저장 상태를 먼저 확인하는 순서입니다.
첫 점검과 기록표 작성은 Python 없이 할 수 있으며 JSON·Python 검산은 말미의 선택 부록입니다.
먼저 같은 브라우저에서 두 사이트만 비교하기
- 열려 있는 작업을 저장하고 전송·동기화가 끝났는지 확인합니다. 저장이 실패하거나 회사 네트워크의 필수 조건을 모르면 진단·재시작·설정 변경을 보류합니다.
- Windows의 Wi-Fi 연결 문구를 읽고, 같은 브라우저·같은 연결에서 실패한 사이트 A와 별개의 공식 사이트 B를 한 번씩 확인합니다. B는 예를 들어 Microsoft 지원 페이지입니다. 비밀 경로나 인증정보를 시험 주소에 넣지 않습니다.
- 메모에 ‘연결 상태 / A 결과 / B 결과 / 다른 기기 결과’를 적습니다. 다른 기기가 없거나 같은 Wi-Fi·모바일 데이터 여부를 확인하지 못하면 마지막 칸은 ‘미확인’입니다.
설명용 입력 ‘연결됨 / A 실패 / B 정상 / 다른 기기 미확인’의 기대 기록은 ‘사이트 A 조건 먼저’입니다. A 서버 고장이나 공유기 정상까지 확정한 결과는 아닙니다. 두 사이트 모두 실패해도 인터넷 전체 고장으로 쓰지 않습니다.
이번 과제는 결과와 모르는 항목을 남기면 끝납니다. 연결·DNS·VPN·프록시를 바꾸지 않았다면 창을 닫으면 되고 원복할 설정은 없습니다. 접속 제한이나 저장 문제가 생기면 결과를 보존해 담당자에게 확인합니다. Get Help 실행은 이 기록 뒤의 별도 판단입니다.

먼저 저장할 것
열려 있는 작업을 저장합니다. 저장이 실패하거나 동기화·파일 전송이 끝나지 않았으면 진단 실행과 재시작을 보류하고 미저장 작업의 안전한 사본부터 확보합니다. 회사 PC라면 VPN·프록시·접근 정책이 필요한지 확인할 담당자를 정합니다. 비밀번호와 전체 회사 네트워크 정보는 관찰표에 넣지 않습니다.
아래 본문 복사 양식에는 시각, 연결 상태, 사이트 두 곳, 다른 기기의 관찰값을 적습니다. 패키지의 wifi_observation.txt와 같은 기본 항목을 내장했으며 공개 다운로드는 제공하지 않습니다. 아래 판정 예시는 실제 장애를 재현한 결과가 아닌 가상 입력입니다.
1. Wi-Fi 연결 상태와 접속 결과를 따로 읽기
작업 표시줄의 네트워크 항목에서 Wi-Fi가 켜져 있고, 알고 있는 네트워크에 연결되어 있는지 확인합니다. 상태가 연결되지 않음이라면 “연결됐는데 인터넷이 안 됨”이라는 전제부터 고칩니다.
Microsoft는 Wi-Fi 아이콘과 인터넷 없음 표시를 설명하며, 연결 표시가 있어도 특정 앱·사이트 또는 다른 연결 조건에서 문제가 생길 수 있다고 안내합니다. 아이콘만 보고 모든 사이트가 정상이라고 판단하지 마세요. Microsoft Wi-Fi 문제 해결 안내
2. 다른 사이트를 같은 조건에서 확인하기
실패한 업무 사이트와 별개의 정상적인 공식 사이트를 비교합니다. 예를 들어 Microsoft 지원 페이지를 열어 볼 수 있습니다. 같은 브라우저와 같은 연결에서 확인하고, 결과를 정상·실패·확인 못함으로 적습니다.
두 번째 사이트를 여는 것은 장애 범위를 좁히는 검사입니다. 두 사이트가 모두 실패했다고 인터넷 전체의 고장이 확정되는 것은 아닙니다. 브라우저, 연결 정책, 계정 조건 등 공통 요인이 남을 수 있습니다.

3. 같은 Wi-Fi의 다른 기기와 비교하기
사용할 수 있는 다른 기기가 있다면 같은 Wi-Fi에 연결되었는지 확인합니다. 휴대전화의 모바일 데이터로 접속하고 있었다면 공유기 비교가 아닙니다. 모바일 데이터 사용 여부를 확인한 뒤 동일한 두 사이트를 관찰하세요. 다른 기기가 없다면 “확인 못함”을 남깁니다.
| 가상 입력 | 먼저 볼 범위 | 이 결과만으로 확정할 수 없는 것 |
|---|---|---|
| PC에서 사이트 A 실패, B 정상 | 사이트 A·계정·앱 조건 | 사이트 A 서버의 고장 여부 |
| PC는 A·B 실패, 같은 Wi-Fi 다른 기기는 정상 | PC의 연결·앱·정책 조건 | 공유기가 모든 기기에 정상인지 |
| PC와 같은 Wi-Fi 기기가 A·B 모두 실패 | 공유기·회선 등 공통 조건 | 통신사 고장인지 |
| 다른 기기 확인 못함 | 미확인 상태 유지 | PC만 문제라는 결론 |
다른 기기가 정상이라도 공유기의 기기별 접근 정책이나 연결 상태 차이가 있을 수 있습니다. 표의 “먼저 볼 범위”는 원인 확정이 아닙니다.
4. 읽기 전용 관찰과 자동 진단 실행을 구분하기
앞의 비교는 연결 상태와 접속 결과를 기록하는 단계입니다. 이 단계에서 VPN·프록시·DNS·보안 기능·연결 프로필을 변경하지 않습니다. 일반 사이트 접속 자체는 그 사이트와 통신하므로 비밀 경로나 인증정보를 시험 주소에 넣지 마세요.
Windows 11 공식 안내의 도움말(Get Help) 네트워크 및 인터넷 문제 해결사는 자동으로 진단하고 문제를 고치려 시도할 수 있습니다. 따라서 실행은 읽기 전용 확인과 같지 않습니다. 이 글의 기본 완료 기준에는 실행을 요구하지 않으며, 실행하지 않았다면 진단 칸에 실행 안 함을 적습니다. Microsoft 자동 진단의 범위
자동 진단을 별도로 진행하기로 결정했다면 먼저 현재 연결 방식과 필요한 VPN·프록시·조직 정책, 원래 설정의 확인 가능한 값, 미저장 작업과 복구할 위치를 개인 기록에 남깁니다. 회사 관리 PC는 담당자의 승인 범위를 확인합니다. 어떤 변경을 허용하는지와 공식 원복 방법을 모르면 실행을 보류합니다. 진단 중 추가 권한, 예상하지 못한 설정 변경, 초기화·드라이버 제거를 요구하면 그 지점에서 중단하고 안내 문구를 기록합니다. 제한을 우회하지 않습니다.
별도 실행한 경우에는 진단이 찾아낸 항목과 실제 변경된 항목을 구분합니다. 자동 변경 내역이 명확하지 않으면 변경 없음이나 원복 완료라고 적지 않습니다. 저장한 원래 상태 및 해당 조치의 공식 복구 절차와 대조하고, 조직 담당자와 복구 범위를 확인하기 전 추가 변경을 멈춥니다. 읽기만 했다면 창을 닫으면 되며 원복할 설정이 없습니다.
재확인은 처음 실패한 사이트와 비교 사이트를 같은 브라우저·같은 연결·같은 조건에서 수행합니다. 완료 메시지만 보고 실제 업무 사이트가 열렸다고 기록하지 않습니다. 정상으로 바뀌어도 원인 확정이나 이후 안정성 보장은 별도입니다.
네트워크 초기화는 마지막 판단
Microsoft는 네트워크 초기화를 마지막 단계로 안내합니다. 초기화는 네트워크 어댑터와 설정을 다시 구성하며 VPN 클라이언트나 가상 스위치 등의 재설정이 필요할 수 있습니다. 이 글의 기본 실습에는 초기화, 드라이버 제거, 레지스트리 수정, 보안 프로그램 해제를 넣지 않았습니다.
비밀번호를 다시 모르는 Wi-Fi를 지우거나, 회사 정책을 확인하지 않고 연결 프로필을 바꾸는 것도 피합니다. 해당 조치를 검토해야 한다면 현재 설정과 복구 방법을 먼저 확보하세요.
기대 결과와 다음 단계
완료 기준은 “한 번 클릭해 인터넷 복구”가 아니라 다음 다섯 항목을 근거 있게 남기는 것입니다.
- 실제 연결 상태
- 사이트 A와 B의 결과
- 같은 Wi-Fi 다른 기기의 결과 또는 미확인
- 공식 진단 실행 안 함 또는 별도 실행의 관찰·변경 내용
- 동일 조건의 재확인 결과
발생 시각:
Windows 버전:
Wi-Fi 연결 상태:
사이트 A 결과:
사이트 B 결과:
다른 기기의 같은 Wi-Fi 확인:
모바일 데이터 사용 여부:
다른 기기 A/B 결과:
진단 결과와 변경 사항:
같은 조건 재확인:
Windows 에디션 / OS 빌드:
저장·파일 전송 상태와 보존 사본:
미확인 항목과 이유:
진단 실행: 안 함 또는 별도 허용한 범위
원래 연결·VPN·프록시 상태: 비밀 값 제외한 개인 기록
중단 이유 / 변경된 항목 / 원래 상태 복구 근거:
저장 문서 재열기 / 복구 후 같은 조건 재관찰:
아직 미확인:
AI 응답이나 업무 앱만 안 된다면 그 서비스의 오류로 범위를 좁혀 살펴볼 수 있습니다. 이 검사는 다른 서비스의 API나 파일 업로드가 성공한다고 보장하지 않습니다.
검증 범위
가상 판정표와 빈 기록 양식으로 관찰 결과를 정리합니다. 실제 PC의 메뉴와 진단 결과는 사용하는 Windows 버전에 맞춰 확인하세요.
기술 기준일은 2026-10-04 KST입니다. 설정 → 시스템 → 정보에서 에디션·버전·빌드를 기록하고 Microsoft Windows 11 릴리스·에디션별 지원 표와 대조합니다. 이 글은 Windows 11 메뉴 안내이며 Windows 10 22H2 일반 지원은 2025-10-14에 끝났습니다. LTSB·LTSC는 해당 에디션의 수명 주기가 별도이고 ESU는 자격·등록 조건이 있는 별도 보안 업데이트 경로입니다. Microsoft Windows 10 릴리스·지원 범위
선택 부록 Python과 합성 입력을 따로 검산하기
앞의 작은 점검과 빈 기록표를 완성했다면 이 부록을 실행하지 않아도 됩니다. 아래 코드는 합성 기록의 기대 분류를 검사하며 Windows·기기·서비스를 복구하지 않습니다. 먼저 예제의 입력과 기대값을 눈으로 대조하세요. Python이 이미 설치되어 있고 기본 실행 방법을 아는 경우에만 선택해서 재현합니다.
기존 설치에 맞춰 python --version 또는 py --version 등으로 실행 이름과 버전을 확인합니다. Python 3.12가 확인됐다면 python, py -3.12 또는 python3.12 중 실제 설치에서 동작하는 명령을 사용합니다. 본문의 python3.12 표기는 작성 환경의 실행 이름이며 모든 Windows 설치의 명령을 보장하지 않습니다. 실행 이름을 찾지 못하면 이 부록을 멈추고 예제를 수동 대조합니다. 이 점검을 위해 새 설치·PATH·보안 설정 변경은 필요하지 않습니다.
합성 여덟 기록의 기대 분기와 사본 복구
normal·failed는 시도한 사이트 관찰이고 not_checked는 아직 확인하지 못한 값입니다. 연결·다른 기기의 같은 Wi-Fi·모바일 데이터 값에서 True는 예, False는 아니오, None은 미확인입니다. 실제 SSID, 사이트 주소, 비밀번호나 장애 로그는 이 코드에 없습니다.
ID: A
- 저장: 완료
- PC Wi-Fi 연결: 예
- PC A/B: failed/normal
- 다른 기기 같은 Wi-Fi / 모바일 데이터: 미확인/미확인
- 다른 기기 A/B: 미확인
- 기대 다음 기록: 사이트 A 조건 먼저
ID: B
- 저장: 완료
- PC Wi-Fi 연결: 예
- PC A/B: failed/failed
- 다른 기기 같은 Wi-Fi / 모바일 데이터: 예/아니오
- 다른 기기 A/B: normal/normal
- 기대 다음 기록: PC 조건 먼저
ID: C
- 저장: 완료
- PC Wi-Fi 연결: 예
- PC A/B: failed/failed
- 다른 기기 같은 Wi-Fi / 모바일 데이터: 예/아니오
- 다른 기기 A/B: failed/failed
- 기대 다음 기록: 공통 조건 먼저
ID: D
- 저장: 완료
- PC Wi-Fi 연결: 예
- PC A/B: failed/failed
- 다른 기기 같은 Wi-Fi / 모바일 데이터: 미확인/미확인
- 다른 기기 A/B: 미확인
- 기대 다음 기록: 다른 기기 비교 미확인
ID: E
- 저장: 실패
- PC Wi-Fi 연결: 미확인
- PC A/B: 미확인
- 다른 기기 같은 Wi-Fi / 모바일 데이터: 미확인/미확인
- 다른 기기 A/B: 미확인
- 기대 다음 기록: 저장 먼저·진단 중단
ID: F
- 저장: 완료
- PC Wi-Fi 연결: 아니오
- PC A/B: 미확인
- 다른 기기 같은 Wi-Fi / 모바일 데이터: 미확인/미확인
- 다른 기기 A/B: 미확인
- 기대 다음 기록: 연결 전제 확인
ID: G
- 저장: 완료
- PC Wi-Fi 연결: 예
- PC A/B: normal/normal
- 다른 기기 같은 Wi-Fi / 모바일 데이터: 미확인/미확인
- 다른 기기 A/B: 미확인
- 기대 다음 기록: 현재 재현 안 됨
ID: H
- 저장: 완료
- PC Wi-Fi 연결: 예
- PC A/B: failed/failed
- 다른 기기 같은 Wi-Fi / 모바일 데이터: 예/예
- 다른 기기 A/B: normal/normal
- 기대 다음 기록: 다른 기기 비교 미확인
G는 이후 같은 조건으로 재확인했을 때 두 사이트가 열렸다는 가정이며 진단의 효과를 뜻하지 않습니다. H의 다른 기기가 정상이어도 모바일 데이터가 사용된 상태라면 PC만 문제라는 결론을 만들지 않습니다. D의 미확인과 C의 관찰 실패도 서로 다릅니다.
이미 준비된 Python 3.12에서 전체 코드를 wifi_scope_check.py로 저장하고 python3.12 wifi_scope_check.py로 실행합니다. 메모리의 합성 값만 분류하므로 네트워크 접속, 진단 실행, 공유기 재시작, DNS·VPN 변경 또는 파일 삭제는 하지 않습니다.
from copy import deepcopy
import json
# id, saved, connected, PC[A,B], other_same_wifi, mobile_data, other[A,B]
rows = [
["A", True, True, ["failed", "normal"], None, None, ["not_checked", "not_checked"]],
["B", True, True, ["failed", "failed"], True, False, ["normal", "normal"]],
["C", True, True, ["failed", "failed"], True, False, ["failed", "failed"]],
["D", True, True, ["failed", "failed"], None, None, ["not_checked", "not_checked"]],
["E", False, None, ["not_checked", "not_checked"], None, None, ["not_checked", "not_checked"]],
["F", True, False, ["not_checked", "not_checked"], None, None, ["not_checked", "not_checked"]],
["G", True, True, ["normal", "normal"], None, None, ["not_checked", "not_checked"]],
["H", True, True, ["failed", "failed"], True, True, ["normal", "normal"]],
]
original = deepcopy(rows)
def decide(row):
if not isinstance(row, list) or len(row) != 7:
raise ValueError("일곱 칸의 기록 확인")
ident, saved, connected, pc, same_wifi, mobile, other = row
if not isinstance(ident, str) or not ident or type(saved) is not bool:
raise ValueError("ID·저장 상태 확인")
for value in [connected, same_wifi, mobile]:
if value is not None and type(value) is not bool:
raise ValueError("연결·비교 조건 확인")
allowed = {"normal", "failed", "not_checked"}
for pair in [pc, other]:
if not isinstance(pair, list) or len(pair) != 2 or any(x not in allowed for x in pair):
raise ValueError("사이트 두 곳의 관찰 상태 확인")
if not saved:
return "저장 먼저·진단 중단"
if connected is None:
return "연결 상태 미확인"
if connected is False:
return "연결 전제 확인"
if "not_checked" in pc:
return "사이트 관찰 미확인"
if pc == ["normal", "normal"]:
return "현재 재현 안 됨"
if pc == ["failed", "normal"]:
return "사이트 A 조건 먼저"
if pc == ["normal", "failed"]:
return "사이트 B 조건 먼저"
if same_wifi is not True or mobile is not False or "not_checked" in other:
return "다른 기기 비교 미확인"
if other == ["normal", "normal"]:
return "PC 조건 먼저"
if other == ["failed", "failed"]:
return "공통 조건 먼저"
return "사이트별 비교 추가 기록"
expected = ["사이트 A 조건 먼저", "PC 조건 먼저", "공통 조건 먼저",
"다른 기기 비교 미확인", "저장 먼저·진단 중단", "연결 전제 확인",
"현재 재현 안 됨", "다른 기기 비교 미확인"]
result = [{"id": row[0], "다음 기록": decide(row)} for row in rows]
assert [x["다음 기록"] for x in result] == expected
bad_cases = [deepcopy(rows[0]), deepcopy(rows[0]), deepcopy(rows[0])]
bad_cases[0][3] = ["failed"]
bad_cases[1][3][1] = "unknown"
bad_cases[2][1] = None
for bad in bad_cases:
try:
decide(bad)
except ValueError:
pass
else:
raise AssertionError("누락·잘못된 상태를 통과시킴")
changed = deepcopy(rows[1])
changed[4:6] = [None, None]
assert decide(changed) == "다른 기기 비교 미확인"
changed[4:6] = deepcopy(original[1][4:6])
assert decide(changed) == "PC 조건 먼저"
assert rows == original
print(json.dumps(result, ensure_ascii=False, indent=2))
print("정상 8행 / 오류 거부 3건 / 기록 사본 복구 1건 / 원본 유지")
기대 분기는 예제의 A~H 순서이며 마지막 줄은 정상 8행 / 오류 거부 3건 / 기록 사본 복구 1건 / 원본 유지입니다. B의 사본에서 같은 Wi-Fi·모바일 조건을 None으로 바꾸면 다른 기기 비교 미확인, 확인된 원자료의 True·False를 되돌리면 PC 조건 먼저로 돌아옵니다. 실제 확인하지 못한 값을 기억으로 채우면 안 됩니다. Linux Python 3.12.14에서 본문 코드의 정상·누락·잘못된 상태·사본 복구·원본 보존 단언을 실제 실행했습니다. PC·공유기·회선의 실제 원인이나 복구 성공은 이 검사로 검증하지 않았습니다.