Conferindo máquinas conectadas a rede wifi.

1. Conferindo máquinas conectadas a rede wifi.

Douglas Dias da Silva
poligno

(usa Outra)

Enviado em 06/11/2017 - 02:48h

Eu estava procurando como checar quais dispositivos estão conectados a rede wifi da minha casa e achei este tópico desativado aqui: https://www.vivaolinux.com.br/topico/Seguranca-Da-Informacao/Descobrir-IPs-em-minha-rede...

Usei o comando este comando que foi recomendado:

nmap -sP 1X9.X4.4X.18Y/24 


Só que o output foi meio estranho, listou mais de 200 IP's, tds seguiam a numeração do ip do roteador, apenas alterando o ultimo trio, de 0 a 256...é isso mesmo? tem 256 nego usando meu wifi? Imagino que não, pois meu roteador não alcançaria tantos dispositivos assim...

A última linha do output do comando está:
Nmap done: 256 IP addresses (256 hosts up) scanned in 35.65 seconds


Gostaria de saber se é/ e onde está meu erro de interpretação.
Agradeço desde já.

[Edit1]:
Acabei de usar o comando
nmap -O 1x9.3x.x6.1x7 
(sem o /24)

e no output dele reparei que há a seguinte linha:
Aggressive OS guesses: Agfa DryStar 5500 printer (97%), D-Link DP-300U, DP-G310, or Hamlet HPS01UU print server (97%), Tahoe 8216 power management system (97%), TRENDnet TV-IP100 webcam (97%), Linux 1.0.9 (97%), D-Link DIR-655 (95%), OUYA game console (95%), SiliconDust HDHomeRun 3 set top box (95%), Silicondust HDHomeRun set top box (95%), SiliconDust HDHomeRun set top box (95%)


Ao ver isso eu fiquei "WTF?", o que é esse monte de dispositivos ai? até onde eu sei minha casa há apenas um roteador, ele aparece ali, ok, mas e os outros? Então estou mesmo 'dividindo' minha rede sem saber? E pq meu linux aparece ali mas os windows do pessoal não?
Qnt mais tento entender sozinho mais confuso eu fico, agradeço qualquer ajuda/dica desde já!


  


2. Re: Conferindo máquinas conectadas a rede wifi.

Usuario
USUARIO21

(usa Debian)

Enviado em 06/11/2017 - 08:47h

O 256 representa que ele varreu toda faixa de ip's e não que todos esses ip's estão conectados, vocês tem que verificar o que está escrito depois do ip, deve ter escrito se eu não me engano, 'host is up' ou 'host is down', avalia a saída, mas se vc quiser ter certeza tem como acessar o seu roteador e ver a lista de usuários no DHCP.


3. Re: Conferindo máquinas conectadas a rede wifi.

ANDRE MILKE DOS SANTOS
andremilke

(usa Debian)

Enviado em 06/11/2017 - 08:53h

nmap -sP 1X9.X4.4X.18Y/24 | grep "up"


4. Re: Conferindo máquinas conectadas a rede wifi.

Douglas Dias da Silva
poligno

(usa Outra)

Enviado em 06/11/2017 - 14:51h

Obrigado pelas dicas, mas eu devo estar fazendo algo errado, com o comando normal 'nmap xxxx.nn.mm.yyy' ele retorna os 256 possíveis, porém tds estão como "Host is up"...
E com o comando como o amigo a cima recomendou ele retorna apenas a linha que diz "Host is up", e a última linha diz o seguinte:
Nmap done: 256 IP addresses (256 hosts up) scanned in 8.22 seconds


Pelo o que entendi os 256 estão 'up'...como isso é possível?


5. Re: Conferindo máquinas conectadas a rede wifi.

Vinicius Araujo Lopes
viniciusalopes

(usa Ubuntu)

Enviado em 06/11/2017 - 15:21h

Opa!
Faz algum tempo que eu fiz uns scripts 'like a boss' aqui, que varrem e rede e retornam o nome do dispositivo conectado. Quando o SO do computador ou do celular conectado não retorna o nome do dispositivo, o script retorna o nome do fabricante do adaptador de rede.
O problema é que fiz especificamente para algumas distros, a saber, Ubuntu, Ubuntu Studio e Debian.
Qual distribuição está utilizando no seu computador?

SAÍDA DO SCRIPT PARA UBUNTU 16.04:
root@ubuntu:/home/ubuntu/Documentos# ./lst-rede-ubuntu.sh 

> Pesquisando conexões ativas...
2 conexões ativas.
> Obtendo Nomes da(s) interface(s) de rede...
> Obtendo IP(s) da(s) interface(s) de rede...

Interfaces de rede conectadas:
----------------------------------
1-enp0s3 IP:192.168.15.17
2-enp0s8 IP:192.168.15.18
----------------------------------
Selecione uma interface de rede: 1

> Gateway Padrão da interface [enp0s3] = 192.168.15.1
> Prefixo da rede = 192.168.15
> Pesquisando IPs conectados à rede...
> Obtendo nomes dos dispositivos conectados à rede...
-------------------------------------------------------------------
IP -> Dispositivo
-------------------------------------------------------------------
192.168.15.2 -> D-Link_International
192.168.15.3 -> SRV-DEBIAN
192.168.15.4 -> Hon_Hai_Precision_Ind.
192.168.15.5 -> SUPERMAQUINA
192.168.15.6 -> Apple
192.168.15.7 -> HP-MINI
192.168.15.44 -> Hon_Hai_Precision_Ind.
192.168.15.17 -> ubuntu
192.168.15.18 -> ubuntu
-------------------------------------------------------------------


VERSÃO DO UBUNTU UTILIZADO NO TESTE:

root@ubuntu:/home/ubuntu/Documentos# cat /etc/*-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=16.04
DISTRIB_CODENAME=xenial
DISTRIB_DESCRIPTION="Ubuntu 16.04.3 LTS"
NAME="Ubuntu"
VERSION="16.04.3 LTS (Xenial Xerus)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 16.04.3 LTS"
VERSION_ID="16.04"
HOME_URL="http://www.ubuntu.com/"
SUPPORT_URL="http://help.ubuntu.com/"
BUG_REPORT_URL="http://bugs.launchpad.net/ubuntu/"
VERSION_CODENAME=xenial
UBUNTU_CODENAME=xenial


 __________________________________
/ Apresente soluções! \
| Opiniões não resolvem problemas. |
| |
\ --Viniciusalopes /
---------------------------------
\ ^__^
\ (oo)\_______
(__) )/\/
||----w |
|| ||



6. Re: Conferindo máquinas conectadas a rede wifi.

Douglas Dias da Silva
poligno

(usa Outra)

Enviado em 06/11/2017 - 15:53h

viniciusalopes escreveu:

Opa!
Faz algum tempo que eu fiz uns scripts 'like a boss' aqui, que varrem e rede e retornam o nome do dispositivo conectado. Quando o SO do computador ou do celular conectado não retorna o nome do dispositivo, o script retorna o nome do fabricante do adaptador de rede.
O problema é que fiz especificamente para algumas distros, a saber, Ubuntu, Ubuntu Studio e Debian.
Qual distribuição está utilizando no seu computador?

SAÍDA DO SCRIPT PARA UBUNTU 16.04:
root@ubuntu:/home/ubuntu/Documentos# ./lst-rede-ubuntu.sh 

> Pesquisando conexões ativas...
2 conexões ativas.
> Obtendo Nomes da(s) interface(s) de rede...
> Obtendo IP(s) da(s) interface(s) de rede...

Interfaces de rede conectadas:
----------------------------------
1-enp0s3 IP:192.168.15.17
2-enp0s8 IP:192.168.15.18
----------------------------------
Selecione uma interface de rede: 1

> Gateway Padrão da interface [enp0s3] = 192.168.15.1
> Prefixo da rede = 192.168.15
> Pesquisando IPs conectados à rede...
> Obtendo nomes dos dispositivos conectados à rede...
-------------------------------------------------------------------
IP -> Dispositivo
-------------------------------------------------------------------
192.168.15.2 -> D-Link_International
192.168.15.3 -> SRV-DEBIAN
192.168.15.4 -> Hon_Hai_Precision_Ind.
192.168.15.5 -> SUPERMAQUINA
192.168.15.6 -> Apple
192.168.15.7 -> HP-MINI
192.168.15.44 -> Hon_Hai_Precision_Ind.
192.168.15.17 -> ubuntu
192.168.15.18 -> ubuntu
-------------------------------------------------------------------


VERSÃO DO UBUNTU UTILIZADO NO TESTE:

root@ubuntu:/home/ubuntu/Documentos# cat /etc/*-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=16.04
DISTRIB_CODENAME=xenial
DISTRIB_DESCRIPTION="Ubuntu 16.04.3 LTS"
NAME="Ubuntu"
VERSION="16.04.3 LTS (Xenial Xerus)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 16.04.3 LTS"
VERSION_ID="16.04"
HOME_URL="http://www.ubuntu.com/"
SUPPORT_URL="http://help.ubuntu.com/"
BUG_REPORT_URL="http://bugs.launchpad.net/ubuntu/"
VERSION_CODENAME=xenial
UBUNTU_CODENAME=xenial


 __________________________________
/ Apresente soluções! \
| Opiniões não resolvem problemas. |
| |
\ --Viniciusalopes /
---------------------------------
\ ^__^
\ (oo)\_______
(__) )/\/
||----w |
|| ||


Opa brow, obrigado pela resposta!
Eu estou usando Kali Linux, que se não me engano, é debian based.



7. Re: Conferindo máquinas conectadas a rede wifi.

Vinicius Araujo Lopes
viniciusalopes

(usa Ubuntu)

Enviado em 06/11/2017 - 16:00h

poligno escreveu:
Opa brow, obrigado pela resposta!
Eu estou usando Kali Linux, que se não me engano, é debian based.


Qual dessas versões?
https://www.kali.org/downloads/
(Pergunto porque quero replicar seu ambiente e testar o script antes de postar.)

 __________________________________
/ Apresente soluções! \
| Opiniões não resolvem problemas. |
| |
\ --Viniciusalopes /
---------------------------------
\ ^__^
\ (oo)\_______
(__) )/\/
||----w |
|| ||



8. Re: Conferindo máquinas conectadas a rede wifi.

Douglas Dias da Silva
poligno

(usa Outra)

Enviado em 06/11/2017 - 17:48h

viniciusalopes escreveu:

poligno escreveu:
Opa brow, obrigado pela resposta!
Eu estou usando Kali Linux, que se não me engano, é debian based.


Qual dessas versões?
https://www.kali.org/downloads/
(Pergunto porque quero replicar seu ambiente e testar o script antes de postar.)

 __________________________________
/ Apresente soluções! \
| Opiniões não resolvem problemas. |
| |
\ --Viniciusalopes /
---------------------------------
\ ^__^
\ (oo)\_______
(__) )/\/
||----w |
|| ||


Perdão pela demora amigo, meu Kali é o 64 bit versão 2017-2.
Abraço!


9. Re: Conferindo máquinas conectadas a rede wifi.

Vinicius Araujo Lopes
viniciusalopes

(usa Ubuntu)

Enviado em 06/11/2017 - 18:39h

Opa!
Rodou de primeira com o script para o Debian!
Os ips listados na saída desse script mostram todos os dispositivos conectados à rede: desktops, noteboks, mobiles, seja o que for.
Alguns dispositivos não disponibilizam ou não possuem um nome...normalmente, servidores com firewall e dispositivos da Apple e algumas versões de Windows. Para esses casos, eu mando o script listar pelo menos o nome do fabricante do hardware de rede.

Salve o script abaixo com o nome que desejar, conceda permissão de execução e execute com sua máquina conectada à rede.
Faça bom uso! Qualquer dúvida, chamanóis!
#!/bin/bash
#-- Autor.....: Viniciusalopes (viniciusalopes.com.br)
#-- Data......: 06/11/2017
#-- Finalidade: Listar o IP e o NOME dos dispositivos conectados à rede
#-- Distros...: Debian 9 Stretch, Kali Linux 2017.2 amd64

# Identificação da Distribuição
distro=`cat /etc/*-release | grep PRETTY_NAME | cut -d "\"" -f2`
echo -e "\n > Distribuição: $distro"

# Conexoes
echo -e "\n > Pesquisando conexões ativas..."
qtdConexoes=`ifconfig -a | grep broadcast -c`

if [ "$qtdConexoes" -eq 0 ]; then
echo -e "\n ****** Nenhuma conexão ativa. ****** \n"
exit
else
if [ "$qtdConexoes" -eq 1 ]; then
echo -e " Uma conexão ativa."
else
echo -e " $qtdConexoes conexões ativas."
fi
fi

# Interfaces
echo -e " > Obtendo Nomes da(s) interface(s) de rede..."
interfaces=( `ifconfig -a | grep broadcast -B 1 | cut -d ":" -f1 -s | sed 's/ //g'` )

# Inets
echo -e " > Obtendo IP(s) da(s) interface(s) de rede..."
inets=( `ifconfig -a | grep broadcast | cut -d "n" -f2 | sed 's/et//g' | sed 's/ //g'` )

# Selecao das interfaces
selecionada=0
i=0
n=0
if [ "$qtdConexoes" != "1" ]; then
echo -e "\n Interfaces de rede conectadas:"
echo -e " ----------------------------------"
for inet in ${inets[@]}
do
let n=$n+1
opcoes=( ${opcoes[@]} "$n" )
echo -e " $n-${interfaces[$i]}\t IP:$inet"
let i=$i+1
done
echo -e " ----------------------------------"

invalida=1
texto=" Selecione uma interface de rede: "
while [ $invalida -eq 1 ]; do
echo -e -n "$texto"
read selecionada
texto=" Digite o NÚMERO da interface de rede: "
for opc in ${opcoes[@]}
do
if [ "$selecionada" = "$opc" ]; then
invalida=0
fi
done
done

let selecionada=$selecionada-1
fi
interface=${interfaces[$selecionada]}
inet=${inets[$selecionada]}


# Gateway Padrão
lin=( `sudo netstat -r -n | grep -m1 "$interface"` )
gateway=${lin[1]}
echo -e -n "\n > Gateway Padrão da interface [$interface] = $gateway"

# Prefixo
octetos=( ${gateway//'.'/' '} )
prefixo="${octetos[0]}.${octetos[1]}.${octetos[2]}"
echo -e "\n > Prefixo da rede = $prefixo"
# IPs conectados
echo -e -n " > Pesquisando IPs conectados à rede..."
ips=( `sudo nmap -sP -n -T5 --exclude "$gateway" "$prefixo.0-255" | grep "Nmap scan report for " | cut -d " " -f5` )

echo -e -n "\n > Obtendo nomes dos dispositivos conectados à rede..."
echo -e "\n -------------------------------------------------------------------"

echo -e " IP\t\t->\tDispositivo"
echo -e " -------------------------------------------------------------------"
i=0
for ip in ${ips[@]}
do
echo -n -e " ${ips[$i]}\t->\t"

nome="nenhum"

for inet in ${inets[@]}
do
# Se o ip pesquisado for do próprio computador
if [ $ip = $inet ]; then
nome=`uname -n`
fi
done

#Obtém o nome do Dispositivo do Ip
if [ $nome = "nenhum" ]; then
nome=`sudo nmblookup -A "$ip" | grep -m1 "<00>" | cut -d " " -f1`
fi

# Se o cliente não fornecer o nome do Computador,
if [ "$nome" = "" ]; then
# Nome do Fabricante da placa de rede do cliente
nome=`sudo nmap -sP -n $ip | grep "MAC Address: " | cut -d "(" -f2 | sed 's/ /_/g' | sed 's/)//g'`
fi
echo -e $nome
let i=$i+1
done

echo -e " -------------------------------------------------------------------"


PS: testei esse script apenas em uma VM no Virtualbox, em modo Live, com a seguinte distro:
# uname -a
Linux kali 4.12.0-kali1-amd64 #1 SMP Debian 4.12.6-1kali6 (2017-08-30) x86_64 GNU/Linux

# cat /etc/*-release
DISTRIB_ID=Kali
DISTRIB_RELEASE=kali-rolling
DISTRIB_CODENAME=kali-rolling
DISTRIB_DESCRIPTION="Kali GNU/Linux Rolling"
PRETTY_NAME="Kali GNU/Linux Rolling"
NAME="Kali GNU/Linux"
ID=kali
VERSION="2017.2"
VERSION_ID="2017.2"
ID_LIKE=debian
ANSI_COLOR="1;31"
HOME_URL="http://www.kali.org/"
SUPPORT_URL="http://forums.kali.org/"
BUG_REPORT_URL="http://bugs.kali.org/"




 __________________________________
/ Apresente soluções! \
| Opiniões não resolvem problemas. |
| |
\ --Viniciusalopes /
---------------------------------
\ ^__^
\ (oo)\_______
(__) )/\/
||----w |
|| ||



10. Re: Conferindo máquinas conectadas a rede wifi.

Vinicius Araujo Lopes
viniciusalopes

(usa Ubuntu)

Enviado em 06/11/2017 - 19:12h

Ah!
Dependendo do roteador que você utiliza, é possível ter informações semelhantes à essas que o meu script fornece, de um modo bem fácil... mas aí perde a graça!
COM emoção = ./script.sh
SEM emoção \\192.168.xx.1

 __________________________________
/ Apresente soluções! \
| Opiniões não resolvem problemas. |
| |
\ --Viniciusalopes /
---------------------------------
\ ^__^
\ (oo)\_______
(__) )/\/
||----w |
|| ||



11. Re: Conferindo máquinas conectadas a rede wifi.

Douglas Dias da Silva
poligno

(usa Outra)

Enviado em 07/11/2017 - 03:54h

viniciusalopes escreveu:

Ah!
Dependendo do roteador que você utiliza, é possível ter informações semelhantes à essas que o meu script fornece, de um modo bem fácil... mas aí perde a graça!
COM emoção = ./script.sh
SEM emoção \\192.168.xx.1

 __________________________________
/ Apresente soluções! \
| Opiniões não resolvem problemas. |
| |
\ --Viniciusalopes /
---------------------------------
\ ^__^
\ (oo)\_______
(__) )/\/
||----w |
|| ||


Escolhi o modo com emoção hehe, obrigado pelo script amigo, sou semi virgem em shell script e vou aproveitar esse seu para dar aquela estuda e aprender um pouco mais, valeu pela força brother, tudo de bom!

[Edit1]:
A respeito de o script identificar tds os dispositivos..acho que não está funcionando direito, pois rodei o script agr pouco(madrugada) e ele retornou 3 IPS..desconectei meu celular da rede WIFI e rodei novamente o script e ele continuou com os msm 3 IPS..não eram pra ficar só dois agr?

[Edit2]:
dei um nmap -sV em cada um dos 3 IPS, um é meu, ok, mas os outros dois tiveram EXATAMENTE o msm output, mesmas portas abertas, mesmos serviços, tudo... o que isso pode significar?
Abraço


12. Re: Conferindo máquinas conectadas a rede wifi.

Vinicius Araujo Lopes
viniciusalopes

(usa Ubuntu)

Enviado em 07/11/2017 - 07:25h

Bom, o script só é capaz de pegar os ips conectados na mesma faixa de rede da interface selecionada.
Pode ser que ele não tenha pego o seu celular na primeira execução, e por isso não mudou na segunda.
Outra hipótese é não ter dado tempo do seu roteador atualizar a informação de que seu celular não está mais conectado.

Poste aqui as saídas desse script que eu enviei, por favor. Uma vez com o celular ligado, outra com o celular desligado.

 __________________________________
/ Apresente soluções! \
| Opiniões não resolvem problemas. |
| |
--Viniciusalopes /
\ ---------------------------------
\ ^__^
\ (oo)\_______
(__) )/\
||----w |
|| ||




01 02



Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts