Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Pobieranie Adresu MAC przez skrypt php
Forum PHP.pl > Forum > Przedszkole
SaMi
Witam
Mam następujący dylemat czy jest możliwość pobieranie adresu mac karty sieciowej za pomoca skryptu php. Dodam iż miało by to działac wyłacznie na sieci LAN.
Z góry dziekuje za pomoc
Bakus
pod windowsem wykonujesz polecenie:
ipconfig /all (szczegóły: http://lists.debian.org/debian-user-polish.../msg00121.html)

Pod linuxem: ifconfig
szczegóły: man ifconfig

snitch.gif

P.S. Powyższe polecenia możesz wykonać przez system" title="Zobacz w manualu PHP" target="_manual
SaMi
Wszystko jest w porzadku tylko chciałbymo oczywisciew miare możliwości by dana osoba z sieci lan wchodząc na tą stronę widziała bez zbędnego logowania za jakie miesiacema oplacony abonamęt, zadłużenie itp. chodzi mi o to aby skrypt na podstawie pobranych informacji o danym kliencie czyli najlepiej adresie MAC bo ip można sobie zawsze recznie ustawić. wyświetlał informacje pobrane z bazy o danym uzytkowniku. Zrobić wyświetnianie zaleznie od IP mam w pełni działające jednak to jest słabe zabespiecznie.
FiDO
MAC Ci wiele nie pomoze. Mozna go zmienic wcale nie trudniej niz IP zarowno w linuxie jak i w windowsie.
sf
FiDO: hm, u nas cala autoryacja opiera sie na rozpoznaniu karty mac... jak ma sie inny numer niz ten, ktory dodany jest do listy zapisanej na serwerze to brak dostepu do internetu... wiec moze podpowiesz gdzie znalezc informacje jak zmienic mac w windows? tongue.gif

SaMi: no to chyba pozostaje Ci login/hasło cool.gif
kszychu
Cytat(Bakus @ 2004-07-26 13:09:30)
pod windowsem wykonujesz polecenie:
ipconfig /all (szczegóły: http://lists.debian.org/debian-user-polish.../msg00121.html)

Pod linuxem: ifconfig
szczegóły: man ifconfig

snitch.gif

P.S. Powyższe polecenia możesz wykonać przez system" title="Zobacz w manualu PHP" target="_manual

Oczywiście nie dodałeś, że to pobierze Mac adres SERWERA, na którym stoi www a nie klienta, który się z tym serwerem łączy...
Ja bym raczej proponował przypisanie mac adresów do numerów ip, identyfikacje po ip i rozdzielanie adresów ip przez dhcp (ale na sztywno zdefinowanych).
Bakus
kszychu: faktycznie... nie zwrocilem na to uwagi...
a nmap nie pokazuje tego ?
rogrog
myśle że nie da rady pobrać MACu bo praktycznie wszystkie informacje jakie mamy o użytkowniku pochodzą z nagłówków przeglądarki (a raczej nie wysyła się MACu biggrin.gif )

zdaje się że gdzieś był już taki temat i nie doszli do rozwiązania...
FiDO
W sieci lokalnej oczywiscie, ze sie da. Ale za jakim kolwiek routerem MACi juz "znikaja".
Co sie moze przydac to: man arp i ewentualnie google smile.gif

Cytat(sf)
FiDO: hm, u nas cala autoryacja opiera sie na rozpoznaniu karty mac... jak ma sie inny numer niz ten, ktory dodany jest do listy zapisanej na serwerze to brak dostepu do internetu... wiec moze podpowiesz gdzie znalezc informacje jak zmienic mac w windows? tongue.gif

Moge powiedziec tylko slowo klucz: Network Address (rowniez w polskiej wersji systemu), dalej juz sobie sam poszukaj, nie bede propagowal oszukiwania adminow smile.gif
SaMi
Ok teraz będe drążył temat jeśli znajde jakieś sensowne rozwiązanie tego problemu to dam znać smile.gif
Pozdrawiam
shizo
Może
  1. <?
  2. getmac()
  3. echo(&#092;"$getmac\");
  4. ?>

Gdzieś widziałem tenże skrypt i działał. (oczywiście mogłem coś pokręcić w skrypcie, gdyż za dobry w php nie jestem)
wassago
Cytat(shizo @ 2004-07-28 11:22:57)
Może
  1. <?
  2. getmac()
  3. echo(&#092;"$getmac\");
  4. ?>

Gdzieś widziałem tenże skrypt i działał. (oczywiście mogłem coś pokręcić w skrypcie, gdyż za dobry w php nie jestem)

@shizo lepiej by bylo gdybys nie pisal postow gdy nie masz pojecia co piszesz.

tak jak napisal FiDO: http://www.google.com/search?hl=pl&ie=UTF-...btnG=Szukaj&lr=
FiDO
Kod
arp -a 192.168.0.1

zwroci m.in. MAC tego numeru IP. Pod warunkiem jednak, ze ten klient laczyl sie z serwerem od czasu jego restartu (kiedy to tablica arp jest czyszczona), no ale skoro wchodzi na strone to juz jest laczony, wiec jego MAC raczej musi byc w tablicy ARP.
Zostaje tylko to wywolac z poziomu php, przefiltrowac wynik i bedzie sam adres.
W tym juz nie pomoge, co za duzo to niezdrowo.
Bakus
Kod
[root@idn_primary /]# arp -a 192.168.0.3
? (192.168.0.3) at 00:80:48:C6:1B:25 [ether] on eth0
działa snitch.gif
FiDO
Wiem, ze dziala smile.gif
A jak nie ma danego hosta jeszcze w tabeli ARP, to mozna go dodac poprzez:
Kod
arping -c 1 192.168.0.1

To jest taki ping, tylko ze na wartswie 2, czyli tam gdzie sa MACi.
seaquest
tak btw. na pro byl kiedys taki temat
wyastarczyloby pewnie poszukac
limak
Cytat(FiDO @ 2004-07-28 22:07:43)
Wiem, ze dziala smile.gif
A jak nie ma danego hosta jeszcze w tabeli ARP, to mozna go dodac poprzez:
Kod
arping -c 1 192.168.0.1

To jest taki ping, tylko ze na wartswie 2, czyli tam gdzie sa MACi.

wystarczy wczesniej dac zwyklego pinga smile.gif a potem arp i dziala smile.gif
SaMi
Ok juz prawie wszystko działa tylko mam maly problem jeszcze, niżej przedstawiam urywek kodu:

  1. <?php
  2. $ip=$REMOTE_ADDR;
  3. $polecenie=&#092;"sudo /usr/sbin/arp -a $ip | awk '{print $4}'\";
  4. $dane = passthru($polecenie);
  5.  
  6. ?>


Mianowicie chodzi mi o to iż nie mogę zapisać do zmiennej $dane wyniku funkcji passthru($polecenie);
limak
  1. <?
  2. $ip=$ROMONTE_ADDR;
  3. $ping=&#092;"ping \".$ip;
  4. $result=system($ping);
  5. $arp=&#092;"arp -a \".$ip;
  6. $result=system($arp);
  7. $dane=explode($ip.&#092;" \", $result);
  8. $mac=substr($dane[1],0,17);
  9.  
  10. echo($mac);
  11. ?>


// dopisane

f**k ... mi nie dziala smile.gif
FiDO
A co to jest ROMONTE_ADDR? :|

  1. <?php
  2.  
  3. $ip=$_SERVER['REMOTE_ADDR'];
  4.  
  5. ?>
id4
Witam.

Kiedyś coś takiego robiłem - i działało smile.gif
http://forum.php.pl/index.php?showtopic=5810&hl=
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.