Puncte:0

Verificarea dacă adresa mac este prezentă în rețea încă nu funcționează (ping -b și arp)

drapel in
Cas

Aceasta este un fel de continuare a acest postul meu.

Am adresa mac a telefonului meu (samsung galaxy S9; deși nu ar trebui să conteze). Vreau să verific dacă este în rețea sau nu. Nu are un ip static, așa că trebuie să-l verific folosind adresa mac.

Mă voi referi la adresa mac a telefonului meu cu [1].

  • Pe telefonul meu, adresa mac aleatorie pentru rețea este dezactivată (nu a fost cazul în postarea anterioară). Odinioară genera o adresă mac aleatorie de fiecare dată când se conecta la rețeaua mea, acum nu mai este.
  • Iată ce fac pentru a verifica dacă adresa mac este în rețea:
    ping -b 192.168.2.255 -c 20
    arp | grep -i „[1]”
    

Acesta este „jurnalul” evenimentelor:

#telefon conectat la rețea
ping -b 192.168.2.255 -c 20 &> /dev/null
arp | grep -i „[1]”
-> succes

#telefon NU este conectat la rețea (wifi-ul a fost oprit pe telefon)
ping -b 192.168.2.255 -c 20 &> /dev/null
arp | grep -i „[1]”
-> succes

A doua oară, nu ar trebui să aibă succes. Telefonul nu este conectat la rețea, dar încă îl arată în ieșirea arp.

Telefonul meu nu are o adresă ip statică, dar când îl conectez la rețea, primește aproape întotdeauna aceeași adresă ip. E in regula. The ping -b ieșirea a fost întotdeauna corectă. Când telefonul meu este conectat la rețea, văd adresa ip pe care o primește aproape întotdeauna în listă (a ping comanda). Când telefonul meu nu este conectat, nu văd niciodată adresa IP „standard” în ieșire. Deci ping funcționează și este „actualizat”.

Deci presupun că arp nu este „actualizat” așa cum este ping (dar aceasta este doar presupunerea mea brută). Cred că arp nu își actualizează tabelul, deși ping a „făcut” unul nou. Dar asta cred eu pe baza unui comentariu al postării anterioare: "Efectuați deja un ping de difuzare, ping -b 192.168.2.255. Acest lucru ar trebui să umple tabelul arp pentru orice dispozitiv online cu adresa IP 192.168.2..*"

Ajutor!

Puncte:0
drapel us

Dacă utilizați ARP tabel pentru a determina dacă telefonul este conectat sau nu la rețea, trebuie să îl eliminați pe telefon ARP intrare de pe computerul dvs ARP masa. În caz contrar, nu veți putea determina modificarea, deoarece intrarea anterioară rămâne nemișcată.

Puteți elimina anumite ARP intrare cu arp -d <IP_ADDR> comandă și eliminați toate intrările cu sudo ip neigh flush all.

Dar, cred că ar trebui să folosești nmap pentru scanare, în plus nu va trebui să curățați ARP masa mai. Puteți folosi acest script.

#!/bin/bash

mac="$1"
# Scanarea rețelei și obținerea adresei IP a adresei MAC specificate, dacă există.
PHONEIP=$(sudo nmap -sP -n 192.168.2.0/24 | grep -B2 "$mac" | grep -Eoi "192\.168\.2\.[0-9]+")
dacă [[ $PHONEIP == "" ]];atunci
    echo "$MAC nu a fost găsit."
altfel
    echo „$MAC găsit la $PHONEIP”
fi

Dar trebuie să dai adresa MAC a telefonului tău ca prim argument, sau poți schimba linia mac="$1" la mac="<telefonul-mac>".

Notă: veți avea nevoie de privilegii de super utilizator pentru a utiliza acest script.

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.