Networking com Raspbian 10 Buster

Sep 11 2020

Estou seguindo um tutorial sobre como usar um rpi para criar um sniffer de endereço MAC. O tutorial recomenda que os seguintes comandos sejam inseridos no arquivo etc / network / interfaces:

 allow-hotplug wlan1
 iface wlan1 inet manual
 pre-up iw phy phy1 interface add mon1 type monitor
 pre-up iw dev wlan1 del
 pre-up ifconfig mon1 up

Quando eu faço isso, nada parece acontecer. Eu li isso desde que Stretch Rasbian usa dhcpcd para rede. Eu olhei para o arquivo /etc/dhcpcd.conf, mas ele não parece conter as mesmas informações. Eu também li que o dhcpcd essencialmente torna coisas como allow-hotplug obsoletas.

Alguém poderia 'traduzir' isso da maneira que precisamos fazer no Rasbian 10? Não consigo encontrar nenhuma informação sobre isso exatamente online. Qualquer ajuda é muito apreciada.

Respostas

nickandrew Sep 14 2020 at 22:42

Supondo que este seja o seu Pi:

root@pitest:~# ifconfig -a
eth0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
        ether b8:27:eb:92:87:21  txqueuelen 1000  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

wlan0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.1.112  netmask 255.255.255.0  broadcast 192.168.1.255
        inet6 2404:9400:218b:2f02:d594:ce48:6b42:62cc  prefixlen 64  scopeid 0x0<global>
        inet6 fe80::62f2:4123:c13d:355b  prefixlen 64  scopeid 0x20<link>
        ether 00:36:76:b0:23:61  txqueuelen 1000  (Ethernet)
        RX packets 36282  bytes 7932636 (7.5 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 3519  bytes 517860 (505.7 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

Execute o comando:

iw wlan0 interface add mon0 type monitor

Isso cria uma nova mon0interface:

root@pitest:~# ifconfig mon0
mon0: flags=4098<BROADCAST,MULTICAST>  mtu 1500
        unspec 00-36-76-B0-23-61-00-00-00-00-00-00-00-00-00-00  txqueuelen 1000  (UNSPEC)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

A mon0interface pode então ser usada para monitorar o rádio WiFi (se o monitoramento funcionar em seu hardware):

ifconfig mon0 up
tcpdump -c 100 -n -i mon0

Você pode emitir esses comandos como acima no prompt do shell do root e, assumindo que a interface WiFi do seu Pi funcione no modo monitor, você pode monitorar as transmissões até a próxima reinicialização.

Por outro lado, se você deseja que o monitoramento comece na hora da inicialização, você precisará editar os arquivos de configuração. Pronto dhcpcdpara usar, o Debian buster permite configurar automaticamente suas interfaces WiFi quando as encontra. Se você editar, /etc/network/interfacesentão dhcpcdpercebe e interrompe toda a configuração. Portanto, você precisará adicionar ambas as interfaces WiFi a ele. Este seria um parágrafo adequado para sua wlan1:

allow-hotplug wlan1
iface wlan1 inet manual
    pre-up iw wlan1 interface add mon1 type monitor
    pre-up ifconfig mon1 up

Você deve reiniciar após a edição /etc/network/interfacespara aplicar as mudanças (e certificar-se de que tudo funcione após a reinicialização, é claro).