Yerel ağda MAC adresini aramam gerekiyor ve Linux kullanıyorum. Yaptığım şey libnet ile bir ARP isteği göndermek, ancak 3 istek gönderdikten sonra önbellek hala güncellenmeyecek. Paketleri yakalamak için wireshark kullanıyorum. Wireshark'dan, ARP isteğimin her birinden sonra 3 ARP tekrarı aldım. ARP önbelleğinin nasıl güncellenmeyeceğini bilen var mı?, ancak ARP yanıtı alındıktan sonra arp önbellek güncellenmeyecek
5
A
cevap
4
Linux çekirdeği varsayılan olarak istenmeyen ARP'yi kabul etmiyor. İstek, kullanıcı alanı uygulamanız tarafından çekirdek tarafından değil, gönderildiği için, çekirdek yanıtı "istenmeyen" olarak görür.
Bu varsayılanı /proc/sys/net/ipv4/conf/*/arp_accept
(aygıt başına veya aygıtlar arasında) olarak değiştirebilirsiniz.
Hızlı cevap için teşekkürler! Şimdi anladım. Yine de, başka bir şey yapmak için başka bir yol var mı?/Proc/sys/net/ipv4/conf/*/arp_accept? ioctl tarafından? – Aitjcize
Neden başka bir yola ihtiyacınız var? Bu şekilde neyin var? Hangi arabirimi kullanacağınızı bilmiyorsanız, * yerine "tümünü" kullanabilirsiniz. – camh
@Aitjcize: '/ proc/sys /' sysctl arabirimidir, ancak Linux üzerinde * tercih edilen * arabirimidir. Basit bir fopen() ile programatik olarak değiştirebilirsiniz; fprintf(); fclose(); dizisi. – caf