Uzaktan kullanılabilmesi için bir konsol uygulamasını netcat aracılığıyla yönlendirebilir / yönlendirebilir miyim?


10

Bir konsol uygulamasının örneğini netcat aracılığıyla 'bağlamak' mümkün mü, bu nedenle netcat yeni bir bağlantı dinliyor ve ağ bağlantısı üzerinden stdinve stdoutüzerinden yeniden yönlendiriyor .


evet ama bir astar olmak zorunda olabilir, bu iyi, borular öyle. Zaten çalışan bir örneğe nc ve pipe'ı pid ile söyleyip söyleyemeyeceğinizi bilmiyorum. bir ip nc ve dinleme bir nc boru ve dinleme vb bir nc boru ve bir ip nc boru.
barlop

Başlığı değiştirdim çünkü bahsettiğiniz şey , bir boru kullanmaktan ziyade G / Ç yönlendirmesi gibi geliyor (sadece bir işlemin çıktısını diğerinin girişine taşımakla ilgileniyor ).
Atılım

@Breakthrough bunun borulardan farkı nedir? IO yönlendirmesinden bahsediyor ve dosyalar hakkında konuşmuyorsa, o zaman borulardan farkı nedir?
barlop

@barlop I / O yönlendirmesi ( <veya >) borulardan ( |) önemli ölçüde farklıdır , ancak bazen her ikisinin bir karışımıyla eşdeğer bir işlem gerçekleştirebilirsiniz. Yine de, G / Ç yönlendirmesi ile, her iki akışın konumunu değiştirebilirsiniz ; borular sadece bir işlemin standart çıktısını diğerinin standart girdisine yönlendirir.
Atılım

@Breakthrough sana ne sorduğumu gör. > ve <elbette borulardan farklıdır, çünkü <ve> dosyaları kullanır. Ama dosyalardan bahsetmiyor. Sana "Bu [IO yeniden yönlendirme] 'nin borulardan nasıl farklı olduğunu sordum, çünkü IO yeniden yönlendirmesinden bahsediyor ve dosyalar hakkında konuşmuyor, o zaman borulardan nasıl farklı?"
barlop

Yanıtlar:


16

Belgelenen olarak Eh, Wikipedia ve netcatdokümantasyon, bir orada -espawn bunu neden seçeneği ( e sürecinin Stdin, stdout ve stderr'e soket takılarak xecute) bir bağlantı aldıktan sonra bir program. Örnek kullanım:

nc -l -pport_number -eprogram_name

Örnekler genellikle program_adı olarak gösterilir /bin/shveya bashkullanılır . Temel olarak makinenize anonim, şifresiz bir erişim portalı açtığı için bu seçeneğin kullanılması önerilmez. Tabii ki, bu, kabuktan daha az güce sahip bir program (bir kabuktan kaçma yeteneği olmayan) kullanarak, kullanımınızı en aza indirerek ve bir sır olarak saklayarak hafifletilir. Bununla birlikte, orijinal geliştiriciler, bu seçeneğin varsayılan olarak devre dışı bıraktıkları ve “GAPING_SECURITY_HOLE” derleme seçeneği altında koşullandırdıkları kötü bir fikir olduğunu yeterince hissettiler. Bu, bu NetCat Eğitimi ve diğer belgelerde kısaca belirtilmiştir .netcatnetcat

Bir Google araması bu sorunu diğer Stack Exchange sitelerinde tartışmamı sağladı: Yığın Taşması ve Sunucu Hatası . Birden katkıda kullanmadan aynı şeyi yapmak için aşağıdaki tekniğini sundu -eseçeneği (bir sürümünde, yani netcato vardır -eseçeneği devre dışı):

Sunucusunda:
mkfifopipe_name
nc -l -pbaglanti_noktasi_numarasi <pipe_name   | program_name >pipe_name

İstemcide:
nc server_machine_name  port_number

Birkaç not:

  • Bazı sürümlerinde netcat, -lima eder -p, bu yüzden önce -lve sonra port numarasını söylemelisiniz .
  • Çözümünüzü bir while truedöngüye sarmak isteyebilirsiniz .
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.