2013-08-22 13 views
6

Używam Fedory 18 z narzędziami wiersza poleceń avahi (wersja 0.6.31)Avahi Nazwa hosta Rozdzielczość: Czy to jest gdzieś buforowane?

Używam avahi-resolve-host-name, aby odkryć adres IP jednostek w mojej podsieci, do celów testowych podczas programowania. Monitoruję żądanie i odpowiedź za pomocą Wireshark. Po jednym pomyślnym żądaniu i odpowiedzi, żadne kolejne żądania nie pojawiają się na Wireshark, ale narzędzie nadal zwraca adres IP. Czy jest możliwe, że demon komputera/avahi/coś innego "buforuje" wynik?

Pytanie: Chcę wysłać pakiet żądania z KAŻDYM CALLEM avahi-resolve-host-name. czy to możliwe?

Powód: Dostaję "fałszywe pozytywy", że tak powiem. Próbuję rozwiązać "test1.local" i otrzymuję wynikowy adres IP, ale urządzenie nie znajduje się już w tym IP. Chcę, aby żądanie było wysyłane za każdym razem, aby uniknąć wyświetlania jednostek o nieprawidłowych adresach IP.

Odpowiedz

2

Widzę, że jestem trochę spóźniony, aby odpowiedzieć na twoje pytanie, ale zamierzam zostawić ogólną odpowiedź na wypadek, gdyby ktoś inny natknął się na to.

Moja odpowiedź jest oparta na avahi-0.6.32_rc.


Czy to możliwe, że komputer/avahi demon/coś innego jest 'buforowanie' wynik?

Tak, demon avahi buforuje wyniki wyszukiwania. Chociaż nie wydaje się być wyraźnie wymienione funkcje, końcówki IT avahi-daemon(8) podręcznika:

Demon [...] przewiduje dwa IPC API dla lokalnych programów do korzystania z rekordowym cache mDNS avahi- demon utrzymuje.


pragnę wysłać pakiet żądania z każdej rozmowy z avahi-resolve-host-name. czy to możliwe?

Tak, jest. Odpowiednia opcja jest cache-entries-max (od avahi-daemon.conf(5)):

cache-entries-max= przyjmuje liczbę całkowitą bez znaku określającą, ile rekordów zasobów są buforowane na interfejsie. Większe wartości pozwalają mDNS działać poprawnie w dużych sieciach LAN, ale także zwiększają zużycie pamięci.

Aby osiągnąć pożądany efekt, można po prostu ustawić:

cache-entries-max=0 

ten będzie wyłączyć buforowanie całkowicie i zmusić avahi-demona wznowienie pakiety MDNS na każde żądanie, więc co możliwe dla ciebie je monitorować.

Należy jednak zauważyć, że to sprawi, że avahi będzie bezużyteczne w normalnym użytkowaniu. Podczas gdy avahi-daemon będzie wydawał pakiety lookup, nie będzie w stanie zapisać wyników, a każde wywołanie avahi-resolve-host-name (jak również innych narzędzi wiersza poleceń, nss-mdns, D-Bus API ...) zakończy się niepowodzeniem.

Powiązane problemy