Netcat Ve Temel Kullanımı (Netcat – I)

Zinnur Yeşilyurt —  1 Kasım 2014 — 2 Comments

Netcat Linux dünyasında önemli bir yazılımdır. Bilgisayarlarımız iletişimlerini sağlamak için portları kullanırlar. Portları kapılar gibi düşünebiliriz. Portlarda networkler arasında TCP ve UDP protokollerini kullanarak gerçekleşen veri okuma yazma işlemlerini taramak yani kısaca port taramak gibi işlemler için Netcat kullanıyoruz.

Netcat’in komut halini “nc” olarak kullanıyoruz. Bu komutun temel amacı networkler arasındaki veri okuma / yazma işlemlerine dair işlemlerdir.

netDiğer Linux komutlarına göre genç sayılsa da çok kullanışlı ve sevilen bir komuttur. Netcat, Hobbit isimli bir hacker tarafından yazılmıştır. Sonraları windows için de uyarlanmıştır.

Burada Netcat’i anlatabildiğim kadar detaylı anlatmaya çalışacağım. Netcat hakkında bir nevi Türkçe “Cheat Sheet” hazırlayacağım. O yüzden bu yazı, bir yazı dizisine dönüşebilir.

Netcat’in Temel Sözdizimi:

$ nc [options] host port

Host: Hedefin IP adresidir.

Port: Hedefin port numarası ya da numaralarıdır. Yani birden fazla port dinlenebilir.

Options:

-l: (listen mode) dinleme modu

-L: (Listen harder) Netcat’in sadece windows için hazırlanan sürümlerinde geçerlidir. Client tarafı connection’ı sonlandırsa bile dinleme modunu tekrar başlatır. Böylece Netcat’i ısrarlı bir dinleyici haline getirmiş olur.

-u: (UDP mode) ön tanımlı olarak TCP gelir. Bunun yerine UDP kullanmak için bu opsiyonu kullanabiliriz.

-p:(Local port) Listen modundayken dinlenen portun, client modundayken tüm paketlerin gönderileceği kaynak portun belirtildiği opsiyondur.

-e: Eğer connection olursa sonrasında program çalıştığında STDIN ve STDOUT ile iletişim kurmak için kullanılan opsiyondur.

-n: DNS lookup’larda diğer tarafın makinelerinin isimlerinde değişikliklik/oynama olamaması için kullanılacak opsiyon.

-z: Zero-I/O modudur. Herhangibir datanın yollanmamasıdır. Sadece payload dışında bir paketin yollanması için kullanılan opsiyondur.

-wN: Connection’ın timeout olması yani süresinin dolması halinde STDIN kapandıktan sonra N saniye daha beklenir. Bir Netcat client ya da listener’ı bu opsiyon ile yeni bir connection açmak için N saniye bekleyecektir. Eğer bu süre içinde yeni bir connection oluşmazsa Netcat çalışmayı durduracaktır.

-v: (Be verbose) Connection sırasında Standard Error’da olan mesajların ayrıntılı biçimde yazılmasını söyleyen opsiyondur.

-vv: (Be very verbose) Standard Errror’da -v opsiyonundan daha daha fazla detaylı yazılmasının söylendiği opsiyonel durumdur.

Opsiyon çeşitlerimiz bunlardı. Şimdi opsiyonları anlatırken Client ve Listener modlarından bahsetmiştik onların temel ifade edilişlerini inceleyelim:

– Temel Netcat Client:

$ nc [Hedef IP adresi] [Port]

Burada client modda hedef IP üzerindeki istenilen portta bir connection başlatmış oluruz.

– Temel Netcat Listener

$ nc -l -p [Local Port]

Burada listener modunda istenilen yerel portta bir Netcat Listener’ı oluşturmuş oluruz.

Hem client hem de listener modda veri STDIN’den alınır ve network’den STDOUT’a verilir.

Şimdilik bu yazıyı burada bitiriyorum. Daha sonraki yazılarımda elimden geldiği kadarıyla TCP Banner Grabber, TCP port tarama, Shell backdoor gibi şeyleri Netcat ile nasıl yaptığımızı aşama aşama anlatmaya çalışacağım.

Herhangi bir hata gördüğünüzde uyarmanızı dilerim.

Zinnur Yeşilyurt

Zinnur Yeşilyurt

Posts Twitter

Hayalindeki mesleği ve işi icra etmekte olan, mutlu ve huysuz bir penguen. Güvenlik hakkındaki her şeyi tutkuyla öğrenmek istiyor. Şu an Junior Security Consultant olarak Symturk'de çalışıyor.

2 responses to Netcat Ve Temel Kullanımı (Netcat – I)

Trackbacks and Pingbacks:

  1. Netcat TCP Port Tarama, TCP Banner Grabbing, Backdoor Shell (Netcat – II) | Kadın Yazılımcı - 6 Nisan 2015

    […] İkincisini yazacağımı söylediğim Netcat yazımı sonunda yazıyorum Temel sözdizimini, opsiyonlarını anlatan yazım şuradaydı: http://www.kadinyazilimci.com/netcat-i/ […]

Yorum yapmak için