İçindekiler:
- Adım 1: Nasıl Başlıyoruz?
- 2. Adım: Başlayalım
- Adım 3: Bağlantı Oluşturma
- Adım 4: Biraz İçerik Gönderelim
- Adım 5: Açık Bir Bağlantıya Sahip Olalım
- 6. Adım: Sonuç
Video: Python'da Netcat: 6 Adım
2024 Yazar: John Day | [email protected]. Son düzenleme: 2024-01-30 13:20
netcat nedir? netcat için kılavuz sayfası şunları söylüyor: "nc (veya netcat) yardımcı programı, güneş altında TCP, UDP veya UNIX etki alanı yuvalarını içeren hemen hemen her şey için kullanılır. TCP bağlantılarını açabilir, UDP paketleri gönderebilir, isteğe bağlı olarak dinleyebilir. TCP ve UDP portları, port taraması yapar ve hem IPv4 hem de IPv6 ile ilgilenir. Telnet(1)'den farklı olarak, nc betikleri güzelce işler ve telnet(1)'in yaptığı gibi, hata mesajlarını standart çıktıya göndermek yerine standart hataya ayırır."
Özünde netcat, TCP veya UDP protokolünü kullanarak diğer sunuculara bağlanmanıza izin verir. TCP, İletim Kontrol Protokolü anlamına gelir ve bağlantı yönelimlidir. UDP, Evrensel Datagram Protokolü anlamına gelir ve bağlantısızdır. TCP, internet uygulamaları için yaygın olarak kullanılırken, UDP medya akışı veya VPN'ler için kullanılır.
Adım 1: Nasıl Başlıyoruz?
Yukarıda netcat'in nasıl çağrıldığı anlatılmaktadır. Sonunda "destination" ve "port" adında iki argüman olduğunu görebilirsiniz. Hedef, bağlanmaya çalıştığımız sunucunun bir ana bilgisayar adını veya ip adresini, bağlantı noktası ise bağlanmaya çalıştığımız sunucunun bağlantı noktasını ifade eder.
2. Adım: Başlayalım
Yukarıda bazı başlangıç python kodu var. Gördüğünüz gibi, programın argümanlarını gerçek yardımcı programın yaptığına benzer şekilde işlemek istiyoruz. Ana bilgisayar adı, yürütülebilir dosyanın adından sonraki ilk bağımsız değişken olurken, bağlantı noktası, komut satırında yürütülebilir dosyanın adından sonraki ikinci bağımsız değişken olacaktır.
Adım 3: Bağlantı Oluşturma
Kullanabileceğimiz bir netcat fonksiyonu oluşturalım. Burada temel olarak yaptığımız şey bir soket oluşturup verilen parametrelerle sunucuya bağlanmaktır. netcat komutu için geçerli parametreler, bağlanmaya çalıştığımız sunucunun ana bilgisayar adı ve bağlantı noktasıdır. Soket, "socket. AF_INET" ve "socket. SOCK_STREAM" parametrelerini içerir, çünkü bu eğitim için varsayılan olarak bir TCP bağlantısı kullanıyoruz.
Adım 4: Biraz İçerik Gönderelim
Netcat işlevimizi üçüncü bir parametre olan "içerik" alacak şekilde genişlettik. Burada çok fazla içerik var, o yüzden satır numarasına göre ayıralım.
Satır 14-16: Tüm içeriği soket üzerinden göndeririz, biraz bekleriz ve sonra soketin daha fazla veri gelmediğini anlaması için soketi giden verilere kapatırız.
Satır 18-26: Sunucu yanıtını depolamak için bir arabellek oluştururuz ve soket veri alırken, okunacak veri olduğu sürece sonuca 1024 bayta kadar veri ekleriz.
Satır 28-29: Bu netcat bağlantısının tek seferlik bir bağlantı olmasını istiyoruz, bu yüzden bağlantının kapalı olduğunu ilan edip bağlantıyı kapatıyoruz.
31. satır: Bu standart bir HTTP isteğidir. Kodu "google.com" ve "80" komut satırı argümanlarıyla çalıştırırsanız, uygun bir HTTP yanıtı görürsünüz.
Adım 5: Açık Bir Bağlantıya Sahip Olalım
Yukarıdaki kod (önceki bölümdeki kodun altında bulunur), sözde açık bir bağlantı üzerinden birden fazla netcat komutu çalıştırmamıza izin verir. (Gerçekte, bir komutu her çalıştırdığınızda, yeni bir TCP bağlantısını açar ve sonra kapatır, bu nedenle netcat'in davranışını gerçekten taklit etmez, bunu sadece öğrenme amacıyla yapıyoruz). Bunu da satır satır ayıralım:
Satır 31: "Etkileşimi" sürdürmek için komutları süresiz olarak okumak istiyoruz
Satır 32: Bu, isteğimizin içeriğini depolayacak arabelleğimizdir.
Satır 36-45: Boş bir satır okuyana kadar arabelleğe okuyacağız
Satır 48: ana bilgisayar adı, bağlantı noktası ve yeni oluşturulan içerik (doğru şekilde kodlanmış) ile netcat işlevimizi çağırırız.
Satır 50: arabelleğimizin içeriği "Bağlantı: Kapat" içeriyorsa (bağlantıyı kapatmak istediğimizi belirtir), basitçe döngüden çıkarız
6. Adım: Sonuç
Bu öğreticinin sonunda, minimum düzeyde çalışan bir netcat uygulamasına sahip olmalısınız. Bunu, aşağıdaki gibi özellikleri uygulamak için kullanıcıya bir alıştırma olarak bırakacağım:
1. diğer protokolleri desteklemek
2. kodu her seferinde bağlantıyı kapatmayacak şekilde sabitleme
3. netcat'in davranışı değiştirmek zorunda olduğu bayrakları eklemek
Önerilen:
Akıllı Motosiklet HUD Prototipi (adım adım Navigasyon ve Çok Daha Fazlası): 9 Adım
Akıllı Motosiklet HUD Prototipi (adım adım Navigasyon ve Çok Daha Fazlası): Merhaba !Bu Talimatlar, motosiklet kasklarına monte edilmek üzere tasarlanmış bir HUD (Heads-Up Display) platformunu nasıl tasarladığımın ve inşa ettiğimin hikayesidir. "Haritalar" yarışması bağlamında yazılmıştır. Maalesef tamamen bitiremedim
Arduino Araba Geri Geri Park Uyarı Sistemi - Adım Adım: 4 Adım
Arduino Araba Geri Geri Park Uyarı Sistemi | Adım Adım: Bu projede Arduino UNO ve HC-SR04 Ultrasonik Sensör kullanarak basit bir Arduino Araba Geri Park Sensörü Devresi tasarlayacağım. Bu Arduino tabanlı Araba Ters uyarı sistemi, Otonom Navigasyon, Robot Mesafesi ve diğer menzil r
Adım Adım Arduino Uno ile Akustik Kaldırma (8 adım): 8 Adım
Arduino Uno ile Akustik Kaldırma Adım Adım (8 adım): ultrasonik ses dönüştürücüler L298N erkek dc pinli Dc dişi adaptör güç kaynağı Arduino UNOBreadboardBu nasıl çalışır: İlk olarak, Arduino Uno'ya kod yüklersiniz (dijital ile donatılmış bir mikrodenetleyicidir) ve kodu dönüştürmek için analog bağlantı noktaları (C++)
Netcat Eğlencesi!: 5 Adım
Netcat Eğlencesi!: Bu talimat, netcat ile bir bilgisayarda nasıl arka kapı oluşturulacağını gösterir! Bunu sizin için otomatikleştiren toplu iş dosyam olsun ve olmasın, bunu yapmanın iki yolunu göstereceğim. Bu talimat, zaten kök izniniz olduğunu varsayar
Netcat ile Daha Eğlenceli!!: 4 Adım
Netcat ile Daha Fazla Eğlence!!: Şimdi, Duct tape'nin Netcat Backdoors kılavuzunu okumadıysanız, onu okuyun, sonra buraya gelin. Bu Eğitilebilir Kitap, temel netcat komutlarını ve bunların nasıl kullanılacağını anlatır. Ayrıca bazı temel toplu komutların üzerinden de geçer