Netcat'ı girişimi hemen yeni hatlarda değil hemen göndermesi için nasıl zorlayabilirim?


29

Netcat'ı girişimi hemen yeni hatlarda değil hemen göndermesi için nasıl zorlayabilirim? Bir HTTP ayrıştırıcısını manuel olarak test etmek ve başlık satırları birden fazla pakete yayıldığında nasıl davrandığını kontrol etmek istiyorum.


2
Deneyin socat bunda listelendiği gibi Cevap
Jeremy W

Yanıtlar:


35

"Eof" tuşunu kullanın, Ctrl D . Bir çizginin ortasına basıldığında, o noktada girilen her şeyi netcat'e verecektir.

Tamponlama aslında tty katmanı tarafından yapılır ve nc hiç. stty -icanon && nc ... arabelleğe almayı devre dışı bırakır ve izin verir nc Verileri terminale girildiği sırada görmek, bu noktada derhal gönderilecektir. (Not: stty ve nc komutlar birlikte çalıştırılmalıdır, aksi takdirde kabuğun kendisi komut istemini görüntülerken tekrar etkinleştirilebilir.)


+1, ama netcat'i hiçbir şeyi tamponlamadığı şekilde açma seçeneği yok mu?
lpapp

5
@FinalContest: Tamponlama tty katmanı tarafından yapılır. stty -icanon && nc ... veya stty raw && nc ... devre dışı bırakır. [Birlikte çalıştırılması gerektiğini unutmayın, aksi takdirde istemi görüntülerken kabuğun kendisi yeniden etkinleştirilebilir.]
grawity

@grawity: harika, eski iyi çalışıyor, ancak ikincisi sıkışıyor ... ctrl-c artık oturumu kapatmak için çalışmıyor ve üzerinde çalışacak ctrl-z'yi de alamıyorum. Bu beklenen mi? Ayrıca, yorumları temizleyebilmemiz için lütfen cevabınızı güncelleyin.
lpapp

2
@FinalContest: Evet, raw Bunlardan bir tanesi tty seviyesinde özel "kontrol" tuşlarını kullanmak olan tty seçeneklerini değiştirir. (Gerçekten de "ham" bir moddur, geçer. her şey programa.) kullanabilirsiniz stty -a -F /dev/pts/XX geçerli parametreleri görmek için başka bir tty'den.
grawity
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.