Pegar parâmetro de comando via arquivo shell

13. Resposta sobre comando

Fabrício Lisbôa Franco
fabregas

(usa Outra)

Enviado em 13/01/2015 - 18:24h

A minha real intenção é fazer o if [BSSID especifico], e depois invocar outro comando que irá usar esse BSSID. Mas pra isso teremos que parar a execução do outro comando ou tipo colocar ele em background, ou abrir em outro shell e executar essa operação nesse, então rs.



textmode escreveu:

fabregas escreveu:

Eu queria pegar somente o BSSID da rede, ou seja, o nome dela. E feito isso comparar dentro de estruturas condicionais(if, swtch etc). Tem como fazer isso usando bash?

[quote]fabregas escreveu:

Minha real intenção é de pegar dados dos roteadores que estão na rede para fazer testes. O comando é o airodump-ng que gera a seguinte saída:


BSSID PWR Beacons #Data, #/s CH MB ENC CIPHER AUTH ESSID

00:24:6C:5B:5E:B1 -87 8 0 0 1 54e. OPN UFU-P
00:24:6C:5B:5E:B0 -87 8 1 0 1 54e. WPA2 CCMP MGT UFU-I
00:1A:1E:7A:CF:E1 -83 14 0 0 1 54e. OPN UFU-P
00:1A:1E:7A:CF:E0 -82 11 0 0 1 54e. WPA2 CCMP MGT UFU-I
00:1A:1E:7A:C9:01 -44 27 8 3 1 54e. OPN UFU-P
00:1A:1E:7A:C9:00 -45 27 0 0 1 54e. WPA2 CCMP MGT UFU-Iu
u
BSSID STATION PWR Rate Lost Packets Probes
u
(not associated) CC:C3:EA:D1:FD:57 -88 0 -12 2 2
(not associated) 14:2D:27:E2:63:FF -75 0 -12 19 3 UFU-Institu
(not associated) F4:8E:09:0B:C4:ED -87 0 -12 0 1 UFU-Institu
00:1A:1E:7A:C9:01 B4:52:7E:AA:4A:2B -72 0 - 9 0 1
00:1A:1E:7A:C9:01 68:A3:C4:3F:AC:87 0 9e- 0e 0 9
00:1A:1E:7A:C9:00 A8:8E:24:3C:65:2D -77 0 - 9 0 1




Comparar com o quê? Teria um exemplo prático? Para cada intenção, dezenas de soluções podem ser desenvolvidas e ainda assim nenhuma delas lhe servir.

Nesse exemplo, o BSSID está no primeiro "campo" do primeiro "bloco" e no primeiro e segundo "campos" do segundo "bloco", daí já precismos de algumas definições:

- Por "bloco" refiro-me a cada trecho do arquivo com cabeçalhos distinto e separados por um linha em branco. Poderia-se até chamar de parágrafo, não precisamos de definição formal mesmo :P

- Por "campo" refiro-me ao aspecto visual do texto, existem informações iniciando em colunas específicas, o que faz cada "bloco" ser do tipo "campo fixo".

O primeiro exemplo que você mandou era um texto "chave valor", cujo separador era o primeiro caractere dois-pontos (:) e sem espaços nas extremidades de cada "chave" ou "valor".

Disto este monte de abobrinhas :P ... existem dezenas de formas de extrair esse BSSID daí para fazer comparações, vai depender apenas do que será comparado. Por exemplo, se for para fazer comparações com informações dentro do mesmo texto, segue-se um caminho, para fazer comparações com informações de outros fontes, o caminho a seguir já será completamente diferente. Quanto mais específico você for, mais precisas serão as respostas.







  


14. Re: Pegar parâmetro de comando via arquivo shell

Perfil removido
removido

(usa Nenhuma)

Enviado em 13/01/2015 - 19:09h

Acho que consegui entender. ACHO.

fabregas escreveu:

A minha real intenção é fazer o if [BSSID especifico], e depois invocar outro comando que irá usar esse BSSID. Mas pra isso teremos que parar a execução do outro comando ou tipo colocar ele em background, ou abrir em outro shell e executar essa operação nesse, então rs.


Vou utilizar apenas bash e lógica bem inocente porque acho que será a forma mais simples de entender, veja se é mais ou menos isto o que procura:

#!/bin/bash

meu_bssid='00:00:00:00:00:00'

while read bssid resto; do
if test "$bssid" == $meu_bssid; then
outro_comando_qualquer $bssid
fi
done < airodump-ng mon0


Mais ou menos isto?

Eu não tenho o Aircrack instalado e não tenho como testar diretamente com o airodump. Mas falando em "crack", o que você anda fazendo com esta ferramenta? "Testes" de penetração em redes wireless? Humm, sei ...



15. Estrutura condicional

Fabrício Lisbôa Franco
fabregas

(usa Outra)

Enviado em 15/01/2015 - 00:33h

Sim. É só um caso domestico mesmo. Estou trabalhando na rede interna daqui de casa. Já consigo visualizar agora só falta fazer essa condocional pra depois montar tipo um menu onde o usuário escolhe qual roteador trabalhar usando o BSSID.
textmode escreveu:

Acho que consegui entender. ACHO.

fabregas escreveu:

A minha real intenção é fazer o if [BSSID especifico], e depois invocar outro comando que irá usar esse BSSID. Mas pra isso teremos que parar a execução do outro comando ou tipo colocar ele em background, ou abrir em outro shell e executar essa operação nesse, então rs.


Vou utilizar apenas bash e lógica bem inocente porque acho que será a forma mais simples de entender, veja se é mais ou menos isto o que procura:

#!/bin/bash

meu_bssid='00:00:00:00:00:00'

while read bssid resto; do
if test "$bssid" == $meu_bssid; then
outro_comando_qualquer $bssid
fi
done < airodump-ng mon0


Mais ou menos isto?

Eu não tenho o Aircrack instalado e não tenho como testar diretamente com o airodump. Mas falando em "crack", o que você anda fazendo com esta ferramenta? "Testes" de penetração em redes wireless? Humm, sei ...







16. Re: Pegar parâmetro de comando via arquivo shell

Perfil removido
removido

(usa Nenhuma)

Enviado em 15/01/2015 - 00:50h

fabregas escreveu:

Sim. É só um caso domestico mesmo. Estou trabalhando na rede interna daqui de casa. Já consigo visualizar agora só falta fazer essa condocional pra depois montar tipo um menu onde o usuário escolhe qual roteador trabalhar usando o BSSID.


Se precisar de ajuda para fazer o menu, encerre esta thread e abra outra. Apenas porque já vai fugir muito do escopo do título inicial.



01 02



Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts