TTL değerini değiştirdiğim bazı boş bırakılmış paketleri yeniden oynatmak için Scapy kullanıyorum. TTL = 1 ile bile çok garip sonuçlar elde ediyorum., ICMP'nin zaman aşımına uğramış mesajlarının tümünü almıyor: Neden?
Test saatlerimi birbirinden ayırdığımda, ICMP zaman aşımına uğramış bir mesajla yanıtlanan paketlerin yaklaşık% 40 ila% 95'ini alabilirim. Ardından cevapsız paketleri tekrar tekrar çalabilir ve her seferinde daha önce veya daha az yanıtlanmış paketlerin yüzdesini alabilirim.
Neden?
Aralarında 0.1 saniye arayla paket gönderiyorum. Bu iyi olmalı, değil mi? Zaman aşımı değeri çok muhafazakar olan 10s.
Burada sorun ne var?
ICMP hız sınırlaması da benim tahminimdi, ama bugün her şeyi 5 saniyelik paketler arası bir aralıkta tekrar göndermeye çalıştım ve hala en az 6-7 paket için yanıt alamadım. benim 50 (küçük test). Scapy'de 'sr' işlevini kullanıyorum. Bu yüzden bir seferde bir paket geçirip 1 saniye beklediğimi düşündüm. Eh, bu sefer * her * tek paket cevaplanır. Sanırım sr 'nin uygulanması ile ilgili bir problem. –
"Scapy" ile benzer sorunlar gördüm, trafik almak/almak için köpek yavaştır; Bir projede 'tcpdump'ı' .pcap' dosyasına yazmış bir arkaplan süreci olarak kullanmaya başladım ve daha sonra doğru yanıtı alıp almadığımı görmek için 'scapy' dosyasındaki dosyayı ayrıştırdım. –
Anladım. Scapy's 'sr' işlevine herhangi bir alternatif biliyor musunuz? Paketlenmiş bir TTL değeri olan paketleri göndermem ve ilgili ICMP mesajı ile eşleştirmem gerekiyor. Scapy'de/kadar/basit görünüyordu, ancak her bir paket için 'sr 'çağrısı çağlar alıyor. –