Freesco, NND, CDN, EOS http://forum.freesco.pl/ |
|
wyświetlanie komunikatu w przypadku nowego kompa w sieci http://forum.freesco.pl/viewtopic.php?f=24&t=13823 |
Strona 1 z 1 |
Autor: | muray [ niedziela, 15 października 2006, 16:15 ] |
Tytuł: | wyświetlanie komunikatu w przypadku nowego kompa w sieci |
będąc ostatnio u promotora chciałem podłączyć laptopa pod net. po podłączeniu i otwarciu przegladarki pojawił się komunikat podobny do czegos takiego ten komputer nie został zgłoszony administratorowi. internet zostanie podłączony po podaniu adresu mac k. sieciowej administratorowi ma ktoś pomysł jak by takie coś można zrobić ? zakładam że musi to miec jakiś związek z ARP'em rozwiązało by to prob kiedy ktoś kupuje nowego kompa albo przynosi od znajomego laptopa i dzwoni ze nie ma netu np. |
Autor: | tasiorek [ niedziela, 15 października 2006, 16:48 ] |
Tytuł: | |
Bylo juz o tym. Zostaw w dhcp w dynamicznej puli kilkanascie adresow i przekierouj wszystkie zapytania z nich na swoj serwer na port np 81, gdzie mozesz postawic podobna stronke z informacja. |
Autor: | muray [ niedziela, 15 października 2006, 16:56 ] |
Tytuł: | |
thx za szybką odpowiedź, wg mnie powinno pojawić się to w FAQ. |
Autor: | muray [ wtorek, 17 października 2006, 19:08 ] |
Tytuł: | |
mam jeszcze inne pytanie czy ktoś potrafi mi powiedzieć czy da sie napisać takie coś np w php zeby przy powiadomieniu na stronie pojawiał sie odrazu adres mac właściciela? nie mam najmniejszego pojęcia o php więc jeśli ktoś znał by rozwiązanie na moje pytanie prosze o umieszczenie tutaj całego kodu pliku. |
Autor: | marask [ wtorek, 17 października 2006, 19:53 ] |
Tytuł: | |
hmm ja mogę Ci tylko powiedziec (bo sam sie nie znam na tym tak dobrze), że ja bym to zrobił jako: 1. sprawdzenie ip z któego łączy się gość 2. wygrepowanie z arpa nowego maca, który jest pod tym ip 3. wyświetlenie maca |
Autor: | muray [ piątek, 20 października 2006, 10:56 ] |
Tytuł: | |
wszystko pięknie ale ja nie mam zielonego pojecia jak to zrobić. |
Autor: | marask [ piątek, 20 października 2006, 20:23 ] |
Tytuł: | |
Cytuj: (bo sam sie nie znam na tym tak dobrze),
ja też ![]() |
Autor: | barte-k [ piątek, 20 października 2006, 22:27 ] |
Tytuł: | |
function returnMacAddress() { // This code is under the GNU Public Licence // Written by michael_stankiewicz {don't spam} at yahoo {no spam} dot com // Tested only on linux, please report bugs // WARNING: the commands 'which' and 'arp' should be executable // by the apache user; on most linux boxes the default configuration // should work fine // Get the arp executable path $location = `which arp`; // Execute the arp command and store the output in $arpTable $arpTable = `$location`; // Split the output so every line is an entry of the $arpSplitted array $arpSplitted = split("\n",$arpTable); // Get the remote ip address (the ip address of the client, the browser) $remoteIp = $GLOBALS['REMOTE_ADDR']; // Cicle the array to find the match with the remote ip address foreach ($arpSplitted as $value) { // Split every arp line, this is done in case the format of the arp // command output is a bit different than expected $valueSplitted = split(" ",$value); foreach ($valueSplitted as $spLine) { if (preg_match("/$remoteIp/",$spLine)) { $ipFound = true; } // The ip address has been found, now rescan all the string // to get the mac address if ($ipFound) { // Rescan all the string, in case the mac address, in the string // returned by arp, comes before the ip address // (you know, Murphy's laws) reset($valueSplitted); foreach ($valueSplitted as $spLine) { if (preg_match("/[0-9a-f][0-9a-f][:-]". "[0-9a-f][0-9a-f][:-]". "[0-9a-f][0-9a-f][:-]". "[0-9a-f][0-9a-f][:-]". "[0-9a-f][0-9a-f][:-]". "[0-9a-f][0-9a-f]/i",$spLine)) { return $spLine; } } } $ipFound = false; } } return false; } |
Autor: | muray [ sobota, 21 października 2006, 12:04 ] |
Tytuł: | |
thx za skrypt miło by było jednak jak byś podał mi skąd go wytrzasnołes to może wtedy dowiedział bym sie jak go używać. pozdrawiam UPDATE znalazłem go tutaj http://www.php-editors.com/forums/archi ... t-385.html ale mój poziom wiedzy nt php jest tak mały jak ziarenko piasu - narazie próbuje jakoś rozkminić jak uzyskać wynik działania skryptu w oknie przeglądarki UPDATE2 doszedłem do tego ze dostaje w logach /proc/net/arp: Permission denied co poradzicie ? |
Autor: | muray [ sobota, 21 października 2006, 15:43 ] |
Tytuł: | |
kolejny update znalazłem ze powinienem dodać arp'a do sudo aby apacz mógł go wykonywać więc visudo nobody ALL=NOPASSWD:/sbin/arp, /proc/net/arp plik php wyglada tak <? .. treść skryptu .. echo 'CLIENT MAC: ', returnMacAddress(); ?> ale to nie pomaga co kuna robie źle ![]() |
Autor: | MGM [ sobota, 21 października 2006, 16:40 ] |
Tytuł: | |
<?php $ip = $_SERVER['REMOTE_ADDR']; $mac = `arp $ip | awk 'getline 2 {print$3}'`; echo 'IP: '.$ip.'<br>MAC: '.$mac; ?> |
Autor: | muray [ sobota, 21 października 2006, 16:53 ] |
Tytuł: | |
podobnie jak w poprzednim przypadku MAC nie działa.. Pokazuje samo IP |
Autor: | tasiorek [ sobota, 21 października 2006, 17:52 ] |
Tytuł: | |
<? $ip = $_SERVER['REMOTE_ADDR']; $mac = shell_exec ("/sbin/arp $ip | awk 'getline 2 {print$3}'"); echo 'IP: '.$ip.'<br>MAC: '.$mac; ?> |
Autor: | muray [ sobota, 21 października 2006, 18:00 ] |
Tytuł: | |
kuna cały czas mi pokazuje w logu ze nie mam praw do /proc/net/arp: Permission denied |
Autor: | MGM [ sobota, 21 października 2006, 18:06 ] |
Tytuł: | |
<?php $ip = $_SERVER['REMOTE_ADDR']; $mac = `sudo -S arp $ip | awk 'getline 2 {print$3}'`; echo 'IP: '.$ip.'<br>MAC: '.$mac; ?> |
Autor: | muray [ sobota, 21 października 2006, 18:11 ] |
Tytuł: | |
Ta ostatnia wersja działa ale czy jest to bezpieczne ze strony włamań itp? (odrazu mówie nie znam sie na php to tylko pytanie) |
Autor: | MGM [ sobota, 21 października 2006, 18:18 ] |
Tytuł: | |
tak, jest bezpieczne. Mozesz zamienic jeszcze `` na shell_exec() tak jak w wersji tasiorka. |
Autor: | muray [ sobota, 21 października 2006, 18:34 ] |
Tytuł: | |
wersja tasiorka nie działa. po dodaniu sudo tak. UPDADE Konkluzja całego wątku wystarczy skonfigurowac apacza. w plik.php który ma prawa wykonywalnosci wkleic <?php $ip = $_SERVER['REMOTE_ADDR']; $mac = `sudo -S arp $ip | awk 'getline 2 {print$3}'`; echo 'IP: '.$ip.'<br>MAC: '.$mac; ?> + reszte dowolnego komunikatu arpa dodac do sudo. nastepnie skonfigurowac ARP'a i dhcp na sztywno + zostawic kilka wolnych adresow IP w dhcp. wolne adresy przekierowac na wirtualny serwer na innym porcie (odsylam do konfiguracji apacza) i na tym wirtualnym serwerze zostawic komunikat. wszystkie nowo - podpinane kompy beda przekierowywane na strone z komunikatem gdzie pokaze im sie ich aktualne ip i mac. |
Strona 1 z 1 | Strefa czasowa UTC+2godz. |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |