때때로 내 Android 휴대폰이 내 Wi-Fi에 연결되지 않고 다음과 같은 메시지가 표시됩니다. IP 주소를 얻을 수 없습니다. 일정 시간(때로는 몇 분, 때로는 몇 시간) 후에 연결이 정상으로 돌아옵니다.
단순화된 설정은 다음과 같습니다.
휴대폰- (무선) -무선 라우터- (금속선) -DHCP 서버- (금속선) -모뎀
- 전화: Samsung Galaxy S8, Android 9, 커널 4.4.111-21427293
- Wi-Fi 라우터: Netgear R6260, 라우터 펌웨어 버전 V1.1.0.88_1.0.1
- DHCP 서버: isc-dhcpd-4.3.5를 실행하는 Debian 9(Stretch)
DHCP 서버에서 네트워크 덤프를 받고 있습니다.
- 이 비연결 단계에서는 들어오는 패킷이 없습니다.
- 연결이 복원되면 들어오고 나가는 DHCP 패킷이 표시됩니다.
그러므로 나는 DHCP 서버를 문제의 원인으로 배제하는 경향이 있습니다.
Wi-Fi 라우터 로그: "WLAN 액세스 거부됨: 잘못된 보안"
웹을 탐색했지만 아직 유용한 것을 찾지 못했습니다. Wi-Fi 비밀번호는 변경되지 않으며 MAC 필터 등도 없습니다. 이제 라우터가 전화기의 DHCP 요청을 DHCP 서버로 전달하지 않는 것 같습니다. 그래서 전화기와 라우터 사이의 DHCP 통신을 활용하려고 합니다.
전화에서 Wi-Fi 트래픽을 직접 모니터링하는 것은 행운이 없습니다. tPacketCapture 앱은 DHCP 패킷을 표시하지 않으며 지금까지 더 유용한 것을 찾지 못했습니다.
그래서 같은 Wi-Fi에 위치한 다른 PC(Ubuntu)를 이용하여 트래픽을 모니터링하고 있습니다. 내가 보는 것은 전화기의 DHCP 요청뿐이지만 전화기가 연결될 수 있음에도 불구하고 패킷이 반환되지 않습니다. 나는 그들이 더 이상 방송하지 않고 내 Wi-Fi 인터페이스가 모니터 모드가 아니기 때문에 필터링하고 있기 때문이라고 생각합니다.
따라서 PC의 Wi-Fi 인터페이스를 모니터링 모드로 전환하고 다음 단계를 따르려고 합니다.https://www.geeksforgeeks.org/how-to-put-wifi-interface-into-monitor-mode-in-linux/
sudo ip link set wlp1s0 down
sudo iw wlp1s0 set monitor none
sudo ip link set wlp1s0 up
출력에는 sudo iw dev
"Type Monitor"가 표시되지만 몇 초 후에 "Type Management"로 되돌아갑니다. 어떤 사람들은 이것이 NetworkManager 때문이라고 말합니다.https://askubuntu.com/questions/1330483/wifi-interface-mode-switches-automatically-back-to-management-ubuntu-20-04하지만 NetworkManager를 비활성화하면 더 이상 Wi-Fi에 자동으로 연결되지 않습니다.
wpa_supplicant는 이 문제를 해결해야 합니다:http://greyfocus.com/2018/01/wifi-without-networkmanager/그리고wicd 또는 NetworkManager 없이 네트워크를 어떻게 설정합니까?하지만 결국 wpa_supplicant도 Wi-Fi 인터페이스를 관리 모드로 전환하고 Wi-Fi에서 전화기의 DHCP 패킷을 스니핑할 수 없다는 사실을 발견했습니다.
그것이 내가 얼마나 멀리 왔는지입니다. 내가 원하는 것은 휴대전화가 Wi-Fi에 안정적으로 연결되는 것뿐입니다.
누구든지 여기서 도움을 주거나 이 문제를 추적하는 방법에 대한 올바른 방향을 알려주시면 매우 감사하겠습니다.
미리 감사드립니다!
답변1
Netgear R6260에 OpenWRT를 설치하는 것이 좋습니다.https://openwrt.org/toh/netgear/r6260. OpenWRT는 많은 가정용 라우터/방화벽에서 사용할 수 있는 Linux 라우터/방화벽 배포판입니다.
tcpdump
그러면 트래픽 캡처를 지원하는 Linux가 설치됩니다.
바라보다https://openwrt.org/docs/guide-user/firewall/misc/tcpdump_wireshark