Netcat
Last updated
Last updated
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.
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'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, 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.
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:
Bu komut ile google.com sunucusunun 80 numaralı portuna TCP bağlantısı kurabiliriz.
Aynı şekilde belirli bir portu dinlemek için;
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
Dosyayı alan makinede ise;
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,
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,