사용자 자격 증명을 사용하여 "반공용 Wi-Fi 네트워크"를 생성하는 코드를 작성 중입니다.
준공용이라고 부르는 이유는 여전히 개인 Wi-Fi 네트워크(모든 트래픽이 암호화됨)이기 때문입니다. 그러나 Wi-Fi 비밀번호 없이 연결할 수 있도록 Wi-Fi 인터페이스에서는 공개로 설정되어 있습니다.
내 서버/라우터 측에서는 각 패킷을 가로채서 해당 권한을 확인한 다음 다시 디스패치하거나 삭제해야 합니다. 이를 위해 IOCTL을 사용하고 각 하위 네트워크에서 패킷을 캡처하고 적절하게 전달하거나 삭제하는 ("중간 라우터") 탭 인터페이스를 설정했습니다. 그것은 훌륭하게 작동합니다. 한 하위 네트워크의 패킷은 내 코드에 의해 처리되지 않으면 다른 하위 네트워크로 이동할 수 없습니다. 하지만 앱이 승인되지 않고 암호화되지 않은 패킷을 네트워크로 보내는 것을 막을 수는 없습니다(API 자체를 제외하고 모든 것을 탭 인터페이스로 리디렉션하도록 iptables에 규칙을 설정하지 않고는?).
하지만 내 생각엔 그런 방식이 일종의 '해킹'인 것 같다. 내가 하고 싶은 것은 커널이 내 코드를 호출하여 라우팅 단계를 수행하도록 하는 것입니다.