Pergunta

Eu quero saber como comando iwlist digitaliza as redes sem fio disponíveis, em linux. Eu li o seu código fonte e não havia uma chamada ioctl usando SIOCSIWSCAN para acionar o SIOCGIWSCAN varredura e para obter os resultados da verificação. Mas como os quadros de sinalização são capturados e analisados ??por estas chamadas do sistema?

Foi útil?

Solução

iwlist (8) e as outras ferramentas sem fio fornecem uma extremidade frontal comum a diferentes drivers de dispositivo sem fio que suporte ( wext). Cada motorista vai registrar manipuladores com wext que implementam as operações específicas de dispositivos definidos por esta interface. Para a exploração, os dois manipuladores são gatilho de leitura (comando SIOCSIWSCAN) e obter resultados de verificação (comando SIOCGIWSCAN). Depois que o dispositivo completa uma varredura, ele envia um evento SIOCGIWSCAN para wext através de uma netlink interface. Uma aplicação ouvir este socket pode então emitir um comando SIOCGIWSCAN para obter os resultados da verificação do dispositivo. Note-se que o dispositivo é livre para implementar a digitalização como sempre escolhe. Por exemplo, ele pode escutar passivamente para beacons ou ativamente varredura através do envio de solicitações de sondagem.

A descrição acima é propositalmente vago sobre a mecânica de enviar comandos para um dispositivo porque não é a forma tradicional (ioctl) e a nova forma (netlink - cfg80211). Mas, para dar um exemplo concreto, considere a maneira tradicional. As chamadas ioctl são implementadas no módulo wext mas o código que lida com este comando é implementado no driver de dispositivo. Quando um aplicativo de espaço do usuário faz uma ioctl, wext olha para cima manipulador do driver de dispositivo e executa-lo.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top