Eu e alguns amigos meus estamos desenvolvendo um scanner de proximidade por Bluetooth para abrir a fechadura da porta da frente do nosso espaço de hackers .
Emparelhamos todos os dispositivos permitidos e, essencialmente, usamos hcitool
para testar se um dos dispositivos emparelhados está próximo. Por exemplo, se o dispositivo emparelhado tiver o endereço "00: 00: 00: 00: 00: 00", você faria isso no console da linha de comandos:
hcitool cc 00:00:00:00:00:00 && hcitool auth 00:00:00:00:00:00 && hcitool dc 00:00:00:00:00:00;
Se isso retornar zero, o dispositivo está próximo.
Uma desvantagem é que isso levará cerca de 5 segundos para atingir o tempo limite se o dispositivo não estiver próximo.
Temos publicou o código-fonte no Github sob a licença de código aberto Apache.
hcitool ...
. No entanto, você deve encadear os comandos como no exemplo dado acima. A conexão está ativa apenas por um período muito curto. Você pode adicionar proximidade à mistura fazendohcitool rssi ...
.Vi algumas configurações usando bluetooth para casos de uso semelhantes, mas provavelmente envolverá hackers. Os telefones que você deseja detectar geralmente não estão no modo detectável.
Se os telefones usarem wifi, você provavelmente poderá detectar alguma proximidade, mas isso provavelmente também significa que será necessário procurá-los em uma camada bastante baixa, pois eles não acessarão sua antena wifi e provavelmente se conectarão criptografados. Dê uma olhada no kismet para obter alguns benefícios sem fio de baixo nível.
A maneira mais fácil de detectar se alguém está em uma sala ou não, eu acho, seria usar o módulo da câmera e um espelho panaramico.
fonte
Se você possui uma rede Wi-Fi à qual eles se conectam quando estão no escritório, o PI pode procurar endereços MAC a cada x período de tempo e atualizar uma página da Web (dropbox, qualquer que seja) com o status atual. Provavelmente a rota mais confiável.
Você pode fazer algo com bluetooth e um adaptador USB Bluetooth, mas não tenho experiência com isso.
Sem eles conectados ao pi, ou à rede em que o pi está, não acho que você terá muito sucesso.
fonte
A leitura das respostas acima também me levou a pensar na seguinte possibilidade:
use airmon-ng para verificar continuamente a rede em busca de dispositivos clientes no wifi. A saída pode ser gravada em um arquivo, portanto, se o arquivo for alterado, um cliente inseriu ou saiu do intervalo do pi. Ter uma lista de endereços MAC conhecidos permite identificar o usuário e, devido à alteração do arquivo, você pode acionar algumas ações ....
é uma ideia bastante interessante! Obrigado!
Arjen
fonte
Contanto que os dispositivos estejam todos na mesma rede, você pode facilmente usar um Raspberry Pi para fazer isso. Aqui está um projeto completo com todo o código necessário ...
http://www.element14.com/community/people/mcollinge/blog/2014/09/12/raspberry-pi-network-spy--part-1
fonte
Então, eu estou trabalhando no mesmo problema há cerca de um ano. Consegui fazê-lo funcionar no meu mac rapidamente, mas tive muitos problemas para fazê-lo funcionar corretamente no meu PC. Eu tentei muitas abordagens diferentes. Eu tenho um sistema de automação residencial que liga o aquecimento e a água quente (por meio de um módulo arduino e RF) quando eu ou meu parceiro estamos em casa (ou seja, nossos iPhones são detectáveis no Wi-Fi doméstico). No final, usei 'nslookup' para encontrar o endereço IP dos iPhones (caso o endereço IP tenha mudado por serem dinâmicos (mas na verdade nunca mudam no meu roteador)) e 'nmap' para detectar se o iPhone está ligado a rede. Se o iPhone estiver em sono profundo, o 'nmap' nem sempre encontra o telefone, então eu o verifiquei 10 vezes antes de dizer que o telefone não está em casa. Abaixo está parte do meu código de automação residencial em python. Eu usei rosqueamento. Qualquer dúvida com o código abaixo me avise.
e
e o código principal
O código pode não funcionar se você copiá-lo diretamente para o seu próprio script, pois há algumas partes que não foram copiadas para tentar manter as coisas simples e fáceis de ler, mas espero que o código acima dê a todos uma noção de como eu fiz coisas.
fonte