Voiko pingottaa verkkokorttia MAC: llä

Minulla on verkkokortti Debian-koneessa jossain. Kone on kytketty pois päältä, mutta minun on tiedettävä, onko NIC-kortti kytketty päälle, jotta voin lähettää herätyskellon myöhemmin (toisesta Debianin koneesta) sen herättämiseksi. Minulla on kortin MAC-osoite. Voinko mitenkään pingata ethernet-korttia MAC: n avulla nähdäksesi onko se päällä?

Yritin luoda ARP-merkinnän:

arp -s 192.168.2.2 00-0c-0d-ef-02-03 ping 192.168.2.2 

Se ei toiminut, koska NIC-kortilla ei ole tätä IP-osoitetta. Joten NIC-kortti saisi ping-pyynnön, mutta ei vastaisi siihen. Onko tällä tavalla mitään keinoa?

I lähetän etherwake-paketin avulla herätys-lan-viestin.

Vastaa

Saatat olla parempi onni työkalun käytössä Sen sijaan arping. Työkalu ping toimii OSI-mallin tason 3 tasolla , kun taas arping toimii kerroksessa 2.

Sinun on silti tiedettävä järjestelmän IP-osoite tällä työkalulla. se, useimpien Unixien (Alexey Kuznetsovin) mukana toimitettu vakioversio on versio, joka pystyy käsittelemään vain IP-osoitteita. toinen versio (Thomas Habets ”) voi oletettavasti tehdä kyselyn MAC-osoitteiden avulla.

$ sudo arping 192.168.1.1 -c 1 ARPING 192.168.1.1 from 192.168.1.218 eth0 Unicast reply from 192.168.1.1 [00:90:7F:85:BE:9A] 1.216ms Sent 1 probes (1 broadcast(s)) Received 1 response(s) 

arping toimii samalla tavalla kuin ping, paitsi että ICMP-pakettien lähettämisen sijaan se lähettää ARP-paketteja.

Järjestelmän saaminen ” s IP vain MAC: llä

Tässä on muutama menetelmä MAC: n käänteisen haun tekemiseen IP: ksi.

  1. nmap

    $ nmap -sP 192.168.1.0/24 

    Etsi sitten arp-välimuistista vastaava kone arp -an.

  2. fping

    $ fping -a -g 192.168.1.0/24 -c 1 

    Etsi sitten arp-välimuistisi, sama kuin yllä.

  3. ping

    $ ping -b -c1 192.168.1.255 

    Etsi sitten arp-välimuistisi, sama kuin yllä.

  4. nbtscan (vain Windowsin isännät)

    $ nbtscan 192.168.1.0/24 Doing NBT name scan for addresses from 192.168.1.0/24 IP address NetBIOS Name Server User MAC address ------------------------------------------------------------------------------ 192.168.1.0 Sendto failed: Permission denied 192.168.1.4 MACH1 <server> <unknown> 00-0b-12-60-21-dd 192.168.1.5 MACH2 <server> <unknown> 00-1b-a0-3d-e7-be 192.168.1.6 MACH3 <server> <unknown> 00-21-9b-12-b6-a7 

Kommentit

  • arping voi ottaa MAC-osoitteen parametriksi: arping -c 5 38:e7:d8:63:5e:a6
  • @MichaelMr ozek – tein sen sen jälkeen, kun joku oli lähinnä lähettänyt vastaukseni kommenttina ja ollut ’ lukenut mitä sanoin kahdesta arping-versiosta. Toinen vastaus näyttää olevan poistettu, joten kiitos rohkean turhautumiseni poistamisesta.
  • Kiitos avusta. Merkitään tämä ratkaistuksi. Emme voineet ’ löytää WOL-vaihtoehtoa BIOS-asetuksista. Tämä on minun arvaukseni: BIOSissa ei ollut WOL: ta kytketty päälle, mutta NIC. Joten verkkokortti heräsi ensimmäisestä WOL-paketista ja lähetti viestin BIOS: lle. Mutta koska sitä ei ollut kytketty päälle BIOSissa, BIOS ei tehnyt mitään. Tästä hetkestä lähtien verkkokortti reagoi pingiin, koska se oli hereillä, mutta kone ei. Niin nopea kysymys: Onko mahdollista, että BIOS voi sammuttaa WOL: n ja NIC: n samanaikaisesti?
  • @AlastorMoody – sanoisin, että ’ on todennäköisesti sallittu sammuttaa BIOS WOL käytöstä ilman verkkokorttia ’ s WOL kytketty päälle. Jos kuitenkin BIOS ei tue ’ t WOL: ta, en mielestäni ’ usko sinun ’ pystyn hyödyntämään sitä, vaikka verkkokortti tekee niin. Katso WOL: n wikipedia-artikkeli: fi.wikipedia.org/wiki/Wake-on-LAN . Sanoi saman asian kuin minä ” -maagisten pakettien vianmäärityksessä ” -osiossa.
  • @niervol: arping MAC-osoitteeseen: Kyllä, on kaksi toteutusta 1. Linuxista iputils 2. kirjoittanut Thomas Habets . — Vain 2. -toteutus voi pingata MAC-osoitetta, mutta tällainen ping on erittäin hankalaa: Pingitetyllä koneella on silti oltava määritetty TCP / IP (vähintään IP-osoite) ja sen on oltava pystyy vastaamaan lähetetyn IP-osoitteen pingiin.

Vastaa

Et voi pingata normaalia verkkokorttia, koska pelkkä verkkokortti ei lähetä vastauksia.

Vain käynnissä oleva tietokone voi lähettää vastauksia

Normaalit verkkokortit eivät lähetä itse vastauksia. He tarvitsevat aina tietokoneessa käynnissä olevan ohjelmiston.

Kun tietokoneen keskusyksikkö sammutetaan, ei ole käynnissä olevaa ohjelmistoa, joka lähettäisi vastauksen pingiin.

Wake-on-LAN on yksisuuntainen

Wake-on-LAN antaa tietokoneen antaa vain verkkokortin olla osittain päällä vastaanottamaan Ethernet-kehykset ja etsi niistä maaginen herätysjakso, mutta verkkokortti ei vieläkään lähetä vastausta. Wake-on-LAN on ehdottomasti yksisuuntainen. Ei vastauksia lähetetty.

Poikkeukset

On joitain erityisiä verkkokortteja, jotka voisivat lähettää vastauksia itse, kuten esimerkiksi toteuttamalla täydellinen TCP-kättelylataus .

kommentit

  • +1 – tämä on ainoa vastaus, joka todella koskee OP ’ s kysymys. ” Wake-on-LAN on yksisuuntainen ”.

Vastaa

ether-wake -komento toimii mac-osoitteen mukaan, joten varmasti (a) et tarvitse IP-osoitetta ja (b) voi lähettää komennon vahingoittamatta (jos se on jo hereillä, sen herättämisellä ei ole vaikutusta?)

Näet nykyisen arp-välimuistisi luettelon käyttämällä arp -an ja hakeutuu MAC-tietokoneellesi saadaksesi kohde-isännän IP-osoitteen. Koska arp on välimuisti, se on ehkä ”ajoitettu” välimuistista (ja silti ”hereillä”). Sitten sinun on ehkä käytettävä raakaa voimamenetelmää sen IP: n löytämiseksi, kuten:

 sudo nmap -sP 192.168.2.0/24 | less 

(ja etsi sitten 00: 0c: 0d: ef: 02: 03) – edellyttäen, että palomuurit ja muut sellaiset asiat eivät esty!

Kommentit

  • En ’ et halua herättää konetta juuri nyt. Mutta haluan varmistaa, että verkkokortti voi vastaanottaa viestejäni niin, että kun menen ulkopuolelle ja käynnistän koneen WOL-paketin kautta, tiedän, että se käynnistyy. Siksi ’ syy, miksi haluan pingata IP: n tai MAC: n kautta enkä herätä sitä.
  • Nukkuvat koneet eivät vastaa pingiin. Jos koneeseen kytketään virta ja pingit IP-osoitteen (ja isäntäkoneen vastausten mukaan) avulla, se lisää merkinnän arp-välimuistiin. Jos siellä oleva merkintä vastaa isännän MAC-osoitetta, on kohtuullinen mahdollisuus, että se toimii (muiden verkon palomuurien, reitittimien ja muiden fyysisten ongelmien estäminen, jotka saattavat aiheuttaa ether-wake: n saavuta se). Sain itse pääsyn toiseen isäntään paikan päällä, laitoin kohdekoneen nukkumaan ja yritin ether-wake. WOL: n toiminnan luonteen vuoksi pyyntö on kuitenkin lähetettävä samaan aliverkkoon kuin isäntä
  • @DravSloan Bonjour Proxy, joka on saatavana esim. Omenoiden aikakapseli on melko nerokas tapa käsitellä tätä ongelmaa. Kone nukkuu, mutta reititin vastaa siihen ja herättää sen vasta, kun välityspalvelin ei voi enää ’ käsitellä sitä.
  • Älä ’ älä luota WOL: iin ilman, että sitä testataan ensin. Hanki pikemminkin IPMI-kortti siinä tapauksessa.

Vastaa

Sovellukseni oli palvelin, joka synkronoi työaseman hae työaseman asiakirjahakemisto … mutta työasemalla ei ollut taattua IP-osoitetta, mutta sillä oli tunnettu MAC-osoite (IP-osoitteen teki DHCP). Tämä koodi käyttää VAIN pingiä.

export COUNTER=1 while [ $COUNTER -lt 255 ] do #ping $1$COUNTER -c 1 -w 400 | grep -B 1 "Lost = 0" & # activate all 254 addresses in the subnet.. dont really need to grep the ping output ping 192.168.0.$COUNTER -c 1 -w 4 2> /dev/null | grep -B 1 " 0\% packet loss" > /dev/null & COUNTER=$(( $COUNTER + 1 )) done # wait till 254 background processes finished wait # the arp cache will automatically flush it"s incomplete entries in about 10 minutes... #echo "finished" # #SRC_SERVER_IP="192.168.0.160:873" SRC_SERVER_IP=$(arp -a | grep "00:22:4d:81:8f:76" | awk "{print $2}" | sed "s/[()]//g")":873" if [ $SRC_SERVER_IP == ":873" ] ; then echo "ws1.example.com is not on the network... exiting..." exit 0 fi 

Vastaa

Tässä on yksinkertainen komentosarja, jonka avulla voit pingata mac-osoitteen kautta. Tallenna ja suorita esim.
macping aa:bb:cc:dd:ee:ff

Voit myös ketjuttaa tuloksen ehdollisesti tekemään muita asioita, esimerkiksi:

macping aa:bb:cc:dd:ee:ff && echo do something if online || echo do something if offline 

#!/bin/bash network=192.168.1.1/24 if [ "$#" -ne 1 ]; then echo Usage example: $0 aa:bb:cc:dd:ee:ff; exit 2; fi; nmap -sP $network >& /dev/null ip=$(arp -n | grep $1 | awk " { print $1 }") ping $ip -n -q -c 2 -i 0.2 -w 1 >& /dev/null if [ $? -eq 0 ]; then echo Device is online \($ip\) else echo Device is offline exit 1 fi; 

Vastaa

Tämä ei perustu erilaisiin versiot arpingista eikä monimutkaisista bash-skripteistä:

ping $(arp-scan --localnet | grep 80:1f:02:fa:90:b7 | awk " { printf $1 } ") 

Olen käyttänyt arp-skannausta arp: n sijaan, koska se näyttää toimivan paljon nopeammin.

Vastaa

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *