![]() |
![]() ![]() |
![]() |
--mysz0n-- |
![]()
Post
#1
|
Goście ![]() |
Witam mam pytanie,
Zakładając że moge pobrać za pomocą jakiegoś API liste adresów IP z zakresu 192.168.1.0/24 czyli adresy od 192.168.1.1 do 192.168.1.254 chciałbym wyszukać wszystkie wolne nie użyte IPki. jak to zrobić najszybciej i najoptymalniej ? |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 294 Pomógł: 31 Dołączył: 2.04.2010 Ostrzeżenie: (0%) ![]() ![]() |
Wysyłać ping "execem" i sprawdzać odpowiedzi czy żyje czy nie.
-------------------- |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 78 Pomógł: 1 Dołączył: 16.08.2006 Skąd: szy-ły Ostrzeżenie: (0%) ![]() ![]() |
nie o to chodzi.
Przypisuje klientom adresy IP, mam mozliwość importu tych IPków do bazy lub do tablicy. Nie obchodzi mnie czy IP odpowada czy nie. Chodzi o to, że czasem dany klient jest przeniesiony lub wykasowany z urządzenia. w tym momencie w adresacji robi sie luka, przy ponad 1200 adresach szukanie i scrollowanie to mega upierdliwa sprawa. chcialbym wiec mieć sktypr który wyrzuci mi info ze z zakresu adresów 192.168.1.0 - 192.168.1.254 adresy: 192.168.1.7, 192.168.1.9, 192.168.1.123, 192.168.1.155 są wolne i przez wolne mam na mysli - nie ma ich w tabeli/tablicy |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 294 Pomógł: 31 Dołączył: 2.04.2010 Ostrzeżenie: (0%) ![]() ![]() |
To wrzucasz całość do bazy.
Robisz tabele: IP | Urządzenie Wrzucas ip z urzadzęniem, i potem Countem odpytujesz bądź jakimkolwiek innym warunkiem. -------------------- |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 78 Pomógł: 1 Dołączył: 16.08.2006 Skąd: szy-ły Ostrzeżenie: (0%) ![]() ![]() |
ok i wyjdzie mi ze w klasie 192.168.1.0 mam 200 użytych adresów.
ale ja chciałbym poznać DOKŁADNE IPki nie użyte, żeby móc je przypisać do nowego klienta. mam tylko 4k adresów zewnętrznych i musze je zacząć szanować więc jak kasuje jakiegoś klienta to chce przy najbliższej okazji jego ip użyć. myslałem może nad czyms w stylu pętli od 0 do 254 i sprawdzać czy zmienna z pętli będzie się znajdować w końcówce adresu - jak tak to olej jak nie to wypluj. co myślisz? |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 1 933 Pomógł: 460 Dołączył: 2.04.2010 Skąd: Lublin Ostrzeżenie: (0%) ![]() ![]() |
Zrób sobie tabelkę w bazie:
Kod id | adres_ip | stan 1 | 192.168.1.1 | 1 2 | 192.168.1.2 | 1 3 | 192.168.1.3 | 0 itd... Zawiera ona wszystkie adresy. Tworzysz zapytanie, które zwróci Ci listę adresów, gdzie stan = 0, czyli, że jest wolny.
-------------------- Jeśli pomogłem, kliknij proszę 'pomógł'. Dzięki.
|
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 78 Pomógł: 1 Dołączył: 16.08.2006 Skąd: szy-ły Ostrzeżenie: (0%) ![]() ![]() |
ale w takim wypadku musiałbym w pierwszej kolejnosci wpisać do bazy wszystkie możliwe adresacje.
czasem ip to 192.168.0.x czasem 175.123.3.x itd chciałem cos mega uniwersalnego - jak wyczuje adres 175.123.3.x - to przelatuje wszystkie od 0 do 254 i pokazuje: hej ten ten ten jest wolny - nie chce togo nawet nigdzie zapisywac. wystarczyłoby pokazanie na daną chwile jakie mam wolne, kombinuje z pętlami i explodami. jesli dany adres jest o jeden wiekszy jak poprzedni - ok, jesli nie - wypisz wszystkei pomiedzy nimi jako wolne. ale petla wyszla mi bardzo duza:) |
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 2 958 Pomógł: 574 Dołączył: 23.09.2008 Skąd: wiesz, że tu jestem? Ostrzeżenie: (0%) ![]() ![]() |
Ten post edytował CuteOne 14.11.2012, 14:24:57 |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 78 Pomógł: 1 Dołączył: 16.08.2006 Skąd: szy-ły Ostrzeżenie: (0%) ![]() ![]() |
o dzięki CuteOne w taki sposob dostaje liste adresów od 1 do 254.
teraz w jednej tablicy mam te adresy a w 2.tablicy mam poszukane adresy i funkcja array_diff(); mógłbym sobie wyrzucic różnice. dobrze kombinuje? w jaki sposób mogę poskładać to co wypluło mi w 1. tablice (końcówki IPków od 0 do 255) w cały adres zeby fukcją array_diff ładnie to ogarnac ? |
|
|
![]() ![]() |
![]() |
Aktualny czas: 20.08.2025 - 05:10 |