Mündəricat:
- Addım 1: Necə Başlayırıq?
- Addım 2: Başlayaq
- Addım 3: Bir əlaqə yaratmaq
- Addım 4: Bəzi məzmun göndərək
- Addım 5: Açıq Bir Bağlantı Olsun
- Addım 6: Nəticə
Video: Pythonda Netcat: 6 addım
2024 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2024-01-30 07:47
Netcat nədir? Netcat üçün dərslik səhifəsində belə deyilir: "nc (və ya netcat) yardım proqramı, günəş altında TCP, UDP və ya UNIX-domen yuvalarını əhatə edən hər hansı bir şey üçün istifadə olunur. TCP əlaqələrini aça, UDP paketləri göndərə və ixtiyari olaraq dinləyə bilər. TCP və UDP portları, liman taraması aparın və həm IPv4, həm də IPv6 ilə məşğul olun. Telnet (1) -dən fərqli olaraq, nc skriptləri gözəl və səhv mesajlarını standart çıxışa göndərmək əvəzinə standart xətaya ayırır."
Əslində, netcat, TCP və ya UDP protokolundan istifadə edərək digər serverlərə qoşulmağa imkan verir. TCP, Transmissiya Nəzarət Protokolu deməkdir və əlaqə yönümlüdür. UDP Universal Datagram Protokolu deməkdir və əlaqəsizdir. TCP ümumiyyətlə internet tətbiqləri üçün, UDP isə media axını və ya VPN üçün istifadə olunur.
Addım 1: Necə Başlayırıq?
Yuxarıda netcat necə adlandırılır. Sonda "təyinat" və "liman" adlanan iki arqument olduğunu görə bilərsiniz. Təyinat, qoşulmağa çalışdığımız serverin bir ana adına və ya ip ünvanına, port isə qoşulmağa çalışdığımız serverin limanına aiddir.
Addım 2: Başlayaq
Yuxarıda bir başlanğıc python kodu var. Gördüyünüz kimi, proqramdakı arqumentləri həqiqi yardım proqramına bənzər şəkildə işlətmək istəyirik. Host adı, icra edilə bilən addan sonra ilk arqument olacaq, port isə əmr satırında yürütülebilir adından sonra ikinci arqument olacaq.
Addım 3: Bir əlaqə yaratmaq
İstifadə edə biləcəyimiz bir netcat funksiyası yaradaq. Əsasən burada etdiyimiz şey, bir yuva yaratmaq və verilən parametrləri istifadə edərək serverə qoşulmaqdır. Netcat əmri üçün, mövcud parametrlər, qoşulmağa çalışdığımız serverin ana adı və portudur. Soketdə "socket. AF_INET" və "socket. SOCK_STREAM" parametrləri var, çünki bu dərslik üçün TCP bağlantısı yoxdur.
Addım 4: Bəzi məzmun göndərək
Netcat funksiyamızı üçüncü bir parametr olan "məzmun" olaraq genişləndirdik. Burada çoxlu məzmun var, gəlin onu xətt nömrəsinə görə bölək.
Xətt 14-16: bütün məzmunu yuvanın üstünə göndəririk, bir az gözlədikdən sonra yuvanı başqa bir məlumatın gəlmədiyini bilmək üçün gedən məlumatlara bağlayırıq.
Satır 18-26: server cavabını saxlamaq üçün bir tampon yaradırıq və yuva məlumat alarkən, oxumaq üçün məlumatlar olduğu müddətcə nəticəyə 1024 bayta qədər məlumat əlavə edirik.
Satır 28-29: bu netcat bağlantısının birdəfəlik bir əlaqə olmasını istəyirik, buna görə əlaqəni bağlı elan edirik və sonra əlaqəni bağlayırıq.
Satır 31: Bu standart bir HTTP tələbidir. Kodu "google.com" və "80" əmr satırı arqumentləri ilə işləsəniz, uyğun bir HTTP cavabını görəcəksiniz.
Addım 5: Açıq Bir Bağlantı Olsun
Yuxarıdakı kod (əvvəlki hissədəki kodun altında yerləşir) sadəcə çoxlu netcat əmrlərini yalançı bir əlaqə üzərində işləməyimizə imkan verir. (Əslində, hər dəfə bir əmri işlədərkən yeni bir TCP bağlantısını açır və bağlayır, buna görə də netcat davranışını həqiqətən təqlid etmir, sadəcə öyrənmə məqsədləri üçün edirik). Gəlin bu sətirləri sətir -sətir bölək:
Satır 31: "İnteraktivliyi" qorumaq üçün əmrləri sonsuza qədər oxumaq istəyirik.
Satır 32: Bu, sorğumuzun məzmununu saxlayacaq tamponumuzdur
Satır 36-45: Boş bir sətir oxuyana qədər tamponda oxuyacağıq
Satır 48: sadəcə netcat funksiyamıza host adı, port və yeni yaradılmış məzmun (düzgün kodlanmış) ilə zəng edirik.
50 -ci sətir: tamponumuzun məzmununda heç vaxt "Bağlantı: Bağla" varsa (əlaqəni bağlamaq istədiyimizi bildirir), sadəcə döngədən çıxırıq.
Addım 6: Nəticə
Bu təlimatın sonunda minimum işləyən netcat tətbiqinə sahib olmalısınız. İstifadəçiyə aşağıdakı kimi xüsusiyyətləri tətbiq etməyi tapşıracağam:
1. digər protokolları dəstəkləyir
2. hər dəfə əlaqəni bağlamamaq üçün kodu düzəltmək
3. netcat -ın artıq davranışı dəyişdirməli olduğu bayraqları əlavə etmək
Tövsiyə:
Pythonda OpenCV istifadə edən QR Kod Skaneri: 7 addım
PyCon-da OpenCV-dən istifadə edən QR Kod Skaneri: Bugünkü dünyada, məhsul qablaşdırmasından Online Ödənişlərə qədər demək olar ki, hər yerdə QR kodu və Barkodun istifadə edildiyini görürük və indi menyunu görmək üçün restoranda belə QR kodları görürük. böyük bir fikir olduğuna şübhə edirəm. Amma heç varmısan
Pythonda Sezar Şifreleme Proqramı: 4 addım
Pythonda Sezar Şifreleme Proqramı: Sezar Şifrəsi, şifrələndirmək və deşifr etmək asan olan qədim və geniş istifadə olunan bir şifrədir. Tamamilə yeni bir əlifba yaratmaq üçün əlifbanın hərflərini dəyişdirərək işləyir (ABCDEF 4 hərfin üzərinə keçə bilər və EFGHIJ olardı). Caesar C
Pythonda SHT25 ilə Raspberry Pi istifadə edərək Nəmlik və İstilik Müşahidəçisi: 6 addım
Python'da SHT25 ilə Raspberry Pi istifadə edən Rütubət və Temperatur Müşahidəçisi: Raspberry Pi üçün bir həvəskar olaraq, onunla daha möhtəşəm təcrübələr düşündük. və SHT25, Humidi
OpenCV istifadə edərək Pythonda Rəng Algılama: 8 Addım
OpenCV istifadə edərək Pythonda Rəng Algılama: Salam! Bu təlimat, openCV kitabxanasından istifadə edərək pythonda bir şəkildən müəyyən bir rəngin necə çıxarılacağını izah etmək üçün istifadə olunur. Bu texnikada yenisinizsə, narahat olmayın, bu təlimatın sonunda öz rənginizi proqramlaşdıra biləcəksiniz
Pythonda BME280 ilə Raspberry Pi istifadə edən hava stansiyası: 6 addım
Python-da BME280 ilə Raspberry Pi istifadə edən Hava İstasyonu: hava şəraiti yaxşıdır (Qlobal İstiləşmə və İqlim Dəyişikliyi problemləri ilə birlikdə, qlobal hava şəraiti bir çox hava ilə əlaqəli dünyamızda qeyri-sabit hala gəlir. təbii fəlakətlər (quraqlıq, ekstremal