이 저장소는 unixpickle/JamWiFi의 연속입니다. 더 이상 사용되지 않고 업데이트되지 않기 때문입니다.
추가된 가입 옵션(BSSID별 가입을 위한 것)
이제 스캔 오류에 설명이 있습니다(콘솔에만 해당)
설정 추가(숨겨진 네트워크, ..)
열 정렬 추가
Swift로 다시 작성
MacOS Mojave/Catalina에 대한 지원 추가
다크 모드 지원 추가
최신 사전 컴파일 다운로드
빌드 2018 이상인 장치는 패킷 주입을 수행할 때 충돌이 발생하는 것 같습니다. 안타깝게도 제가 직접 그런 장치를 가지고 있지 않아서 당장은 고칠 수 없습니다.
JamWiFi를 사용하면 근처에 있는 하나 이상의 무선 네트워크를 선택할 수 있으며, 그에 따라 현재 네트워크에서 활성화된 클라이언트 목록이 표시됩니다. 또한 JamWiFi를 사용하면 원하는 만큼 선택한 클라이언트의 연결을 끊을 수 있습니다.
내부적으로 JamWiFi는 채널 호핑 및 네트워크 검색을 위해 Apple의 CoreWLAN API를 사용합니다. 원시 패킷 인터페이스의 경우 libpcap은 MAC 계층에서 원시 802.11 프레임을 보내고 받기 위한 좋은 추상화 지점을 제공합니다. 모든 802.11 MAC 패킷에는 MAC 주소 소스와 대상이 포함됩니다. 이를 통해 JamWiFi는 특정 액세스 포인트의 스테이션을 결정할 수 있습니다.
JamWiFi는 연결 해제 프레임을 사용하여 클라이언트를 "시작"합니다. 클라이언트가 액세스 포인트로부터 연결 해제 프레임을 수신하면 AP와의 모든 연결이 더 이상 활성 상태가 아니라고 가정합니다. 그러나 클라이언트가 연결 해제 프레임을 수신하면 즉시 AP와의 새 세션 설정을 시도할 수 있습니다. 이를 방지하기 위해 JamWiFi는 연결 해제 프레임을 모든 클라이언트에 자주 보냅니다.
일부 네트워크에는 둘 이상의 액세스 포인트가 포함되어 있습니다. 또한 클라이언트가 사용 가능한 WiFi 네트워크를 두 개 이상 사용할 수 있는 시나리오도 있을 수 있습니다. 이 시나리오에서는 클라이언트가 하나의 AP에서 연결이 해제되더라도 다른 AP와의 세션을 성공적으로 설정할 수 있습니다. 이를 극복하기 위해 JamWiFi는 클라이언트가 AP와 연결되어 있는지 여부에 관계없이 모든 AP의 모든 클라이언트에 연결 해제 프레임을 보냅니다. 이는 불필요한 오버헤드처럼 보일 수 있지만 액세스 포인트가 1개보다 많은 보다 복잡한 네트워크에는 필요합니다.
잠시만요. 나는 이 도구를 사용하는 사람에게 발생할 수 있는 피해에 대해 책임을 지지 않습니다. 이는 실험 및 학습 목적으로만 사용됩니다. 제발, 제발, 이것으로 어리석은 짓을 하기 전에 다시 한 번 생각해보세요. 이웃에게 장난을 쳐서 WiFi가 작동하지 않는다면 어떨까요?