Opção 1:
Olhe para o seu servidor DHCP. Se ele exibir todas as concessões de DHCP, você poderá vê-lo lá.
Opção 2:
Ou tente encontrá-lo em sua tabela arp se você souber o endereço MAC do seu Raspberry PI. Abra um prompt cmd para isso e digite arp -a
. Em seguida, ele mostra uma lista de todos os pares IP-MAC conhecidos. Se não estiver lá, tente fazer o ping do seu endereço de broadcast e digite arp -a
novamente. O IP de transmissão é sempre o último IP da sua sub-rede. Por exemplo, o IP de transmissão da sub-rede 192.168.0.0
é 192.168.0.255
.
Opção 3:
Você também pode escanear todos os dispositivos em sua rede para uma porta aberta se você conhece uma porta específica que está aberta apenas no seu Raspberry Pi. Digamos que o seu Raspberry Pi esteja aberto na porta 80, você poderia escanear todos os endereços IP na sua sub-rede para a porta 80. Se você não tem muitos servidores Web na sua rede (talvez apenas algumas impressoras e roteadores dos quais você conhece o IP endereço do curso), você vai encontrar o seu Raspberry Pi muito rápido.
Infelizmente, eu não sei como usar o nmap porque eu uso um script Powershell para escanear portas. Eu poderia colá-lo aqui se você quiser tentar. Simplesmente deixe-me saber nos comentários se você quiser experimentar o meu script.
Editar: Aqui está meu roteiro. Uso abaixo.
function Test-Port {
param(
[parameter(Position=0)][string[]]$Computer=(Read-Host "Target: "),
[parameter(Position=1)][string[]]$Port=(Read-Host "Ziel-Port: "),
[int]$Timeout=1000
)
$ErrorActionPreference = "SilentlyContinue"
$ResultObjects = @()
foreach ($Target in $Computer) {
foreach ($p in $Port) {
$ResultObjects += P_Test-Port
} # end port foreach
} #end target foreach
return $ResultObjects
} #end function
function P_Test-Port {
$tcpclient = new-object system.net.sockets.tcpclient
$con = $tcpclient.BeginConnect($Target,$p,$null,$null)
$wait = $con.AsyncWaitHandle.WaitOne($timeout,$false)
[bool]$Open = $false
# check the connection
if(!$wait)
{
# close connection and report timeout
$tcpclient.Close()
[string]$result = ("Connection Timeout (" + $Timeout + " ms)")
$failed = $true
} else {
$error.Clear()
$tcpclient.EndConnect($con) | out-null
if(!$?){[string]$result = ("Closed / Filtered");$failed = $true}
$tcpclient.Close()
}
if(!$failed){
[string]$result = ("Open")
$failed = $false
$Open = $true
}
$objTestPortResult = new-object System.Object
$objTestPortResult | Add-Member -type NoteProperty -name Host -value $Target
$objTestPortResult | Add-Member -type NoteProperty -name Port -value $p
$objTestPortResult | Add-Member -type NoteProperty -name Result -value $result
$objTestPortResult | Add-Member -type NoteProperty -name Open -value $Open
return $objTestPortResult
}
Copie este script e cole-o no seu PowerShell. Você pode usá-lo da seguinte maneira:
Test-Port <IP-Address[]> <Port[]>
Exemplo: Test-Port 192.168.0.1,AnyComputerName 80,443
Isso varrerá os computadores 192.168.0.1
e AnyComputerName
para as portas abertas 80
e 443
. Você pode simplesmente passar um argumento para Computername e Port ou passar vários valores separados por vírgula.
Para verificar toda a sua sub-rede para a porta 80, faça isso da seguinte maneira (supondo que esteja usando a sub-rede 192.168.0.0/24):% $ips = 1..254 | Foreach-Object { "192.168.0.$_" } ; Test-Port $ips 80
Deixe-me saber se você precisa de mais informações ou simplesmente me dê a porta que você deseja procurar, então eu vou criar o seu comando para você.