Netcat

Netcat (nc), bilgisayar ağlarında iletişim sağlamak için kullanılan çok yönlü bir araçtır. Başlangıçta Unix sistemlerinde geliştirilmiş olmasına rağmen, Windows ve diğer platformlarda da kullanılabilir sürümleri bulunmaktadır. Netcat'in temel amacı, ağ üzerinden veri akışını yönetmek ve ağ uygulamalarını test etmek için bir araç olarak hizmet vermektir. İşlevleri arasında bağlantı kurma, bağlantıları dinleme, dosya transferi yapma, port tarama ve hatta bir şekilde shell (kabuk) bağlantısı kurma gibi birçok özellik bulunur. Netcat nc komutuyla çalışır. nc -help komutunu koşturduktan sonra Netcat ile neler yapabileceğinizi aşağıda detaylı bir şekilde görebilirsiniz.


Özellikleri

Netcat'in bazı önemli özellikleri:

  • Giden veya gelen bağlantılar, TCP veya UDP, herhangi porttan veya porta alma veya gönderme

  • Uygun uyarılara sahip tam DNS ileri/geri kontrol,

  • Herhangi yerel kaynak portunu kullanabilme

  • Herhangi yerel olarak yapılandırılan ağ kaynak adresi kullanabilme

  • Rastgele olarak port taramayı başlatma

  • Kaynak yönderdirme kaybı yeteneğini kurma

  • Standart girdideki komut satırı argümanlarını okuyabilme

  • Her N saniyede bir satırı yavaş gönderme kipi

  • İletilen ve alınan onaltılık atık veri

  • Diğer program hizmetlerinin yerleşik bağlantılarını isteğe bağlı yapma

  • İsteğe bağlı telnet seçenekleri cevabı


Netcat Neden Önemlidir?

Netcat'in önemi çok yönlülüğünde yatmaktadır. Herhangi bir bağlantı noktasına hem giden hem de gelen bağlantılar (TCP veya UDP) kurabilir. Ayrıca, tüm ağ parametrelerini (kaynak bağlantı noktası/arayüz, dinleme bağlantı noktası/arabirimi ve tünele bağlanmasına izin verilen uzak ana bilgisayar) belirleme olanağıyla birlikte, UDP'den TCP'ye gibi özel tünellemeye olanak tanıyan bir tünel modu da içerir.

Netcat ayrıca rastgele seçimle yerleşik bağlantı noktası tarama yeteneklerine de sahiptir. Bu, onu ağ araştırması ve güvenlik denetimi için değerli bir araç haline getirir. Arabelleğe alınmış gönderme modu (her N saniyede bir satır) ve iletilen ve alınan verilerin onaltılık dökümü (stderr'e veya belirli bir dosyaya) gibi gelişmiş kullanım seçenekleri, onu ağ hata ayıklaması için güçlü bir araç haline getirir.


Netcat Nasıl Çalışır?

Netcat, ağ bağlantıları üzerinden veri okuyup yazarak çalışır. Belirtilen portlara bağlantı kurabilir ve belirtilen portlardan gelen bağlantıları dinleyebilir. Bağlantı kurulduğunda, veriler bağlantı üzerinden gönderilebilir. Bu, Netcat'i ağ araştırmasından veri aktarımına kadar çeşitli görevler için güçlü bir araç haline getirir.


Temel Kullanımlar ve Özellikler

1. Bağlantı Kurma ve Dinleme: Netcat, basit TCP veya UDP bağlantıları kurmak ve dinlemek için kullanılabilir.

Örneğin, bir web sunucusuna TCP bağlantısı kurmak için:

nc google.com 80

Bu komut ile google.com sunucusunun 80 numaralı portuna TCP bağlantısı kurabiliriz.

Aynı şekilde belirli bir portu dinlemek için;

nc -lvp 4444

Bu komut ile 4444 numaralı portu dinleyebilir ve gelen bağlantıları kabul edebiliriz.

2. Dosya Transferi: Netcat, dosyaları bir sistemden diğerine aktarmak için kullanılabilir.

Örneğin, bir dosyayı gönderen makinede

nc -lvp 4444 < dosya.txt

Dosyayı alan makinede ise;

nc 192.168.1.100 4444 > dosya.txt

Bu komut, belirtilen IP adresindeki 4444 numaralı porta dosya.txt dosyasını gönderir.

3. Port Tarama: Netcat, belirli bir IP adresi ve port aralığındaki açık portları taramak için kullanılabilir. Örneğin,

nc -zv 192.168.1.100 1-100 

Komutu ile 192.168.1.100 IP adresindeki 1 ile 100 arasındaki portları taramak mümkündür.

4. Proxy ve Tünel Oluşturma: Netcat, proxy sunucusu olarak da kullanılabilir. İki farklı ağ arasında iletişimi sağlamak için bir tünel oluşturmak için kullanılabilir. Bu, özellikle ağ güvenliği testleri yaparken veya ağaç geçit senaryolarında faydalı olabilir.

5. Portun Açık Olup Olmadığını Anlama: Bir portun açık olup olmadığını görmek isterseniz bunu birçok araç ve yöntem ile yapabilirsiniz, nmap, hping3, netcat bunlardan birkaç tanesidir. Aşağıdaki komut ile bir portun açık olup olmadığını görebilirsiniz. Örneğin,

nc -vz 127.0.0.1 22

Last updated