Mundarija:
- 1 -qadam: Biz qanday boshlaymiz?
- 2 -qadam: Boshlaylik
- 3 -qadam: Aloqa yaratish
- 4 -qadam: Ba'zi kontentni yuborishga ruxsat bering
- 5 -qadam: Ochiq ulanishga ruxsat bering
- 6 -qadam: Xulosa
Video: Python -da Netcat: 6 qadam
2024 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2024-01-30 13:27
Netcat nima? Netcat uchun qo'llanma sahifasida shunday deyilgan: "nc (yoki netcat) yordamchi dasturi quyosh ostida TCP, UDP yoki UNIX-domenli rozetkalarni o'z ichiga olgan deyarli hamma narsada ishlatiladi. U TCP ulanishlarini ochishi, UDP paketlarini yuborishi, o'zboshimchalik bilan tinglashi mumkin. TCP va UDP portlari, portlarni skanerlash va IPv4 va IPv6 bilan ishlash. Telnet (1) dan farqli o'laroq, nc skriptlari yaxshi, va xato xabarlarini standart chiqishga jo'natish o'rniga standart xatolarga ajratadi, telnet (1) ba'zi birlari kabi."
Aslida, netcat TCP yoki UDP protokoli yordamida boshqa serverlarga ulanish imkonini beradi. TCP uzatishni boshqarish protokoli bo'lib, ulanishga yo'naltirilgan. UDP Umumjahon Datagram protokoli degan ma'noni anglatadi va ulanishsiz. TCP odatda Internet -ilovalar uchun ishlatiladi, UDP esa ommaviy axborot uzatish yoki VPN -lar uchun ishlatiladi.
1 -qadam: Biz qanday boshlaymiz?
Yuqorida netcat qanday chaqiriladi. Ko'ryapsizmi, oxirida "manzil" va "port" deb nomlangan ikkita dalil bor. Belgilangan manzil biz ulanmoqchi bo'lgan server nomini yoki IP manzilini, port esa biz ulanmoqchi bo'lgan server portini bildiradi.
2 -qadam: Boshlaylik
Yuqorida boshlang'ich python kodi bor. Ko'rib turganingizdek, biz dasturning argumentlarini haqiqiy yordam dasturiga o'xshash tarzda qayta ishlashni xohlaymiz. Xost nomi bajariladigan fayl nomidan keyingi birinchi argument bo'ladi, port esa buyruq satrida bajariladigan fayl nomidan keyingi ikkinchi argument bo'ladi.
3 -qadam: Aloqa yaratish
Keling, biz foydalanishimiz mumkin bo'lgan netcat funktsiyasini yarataylik. Biz bu erda asosan qilayotgan ishimiz - rozetkani yaratish va berilgan parametrlar yordamida serverga ulanish. Netcat buyrug'i uchun joriy parametrlar biz ulanmoqchi bo'lgan server nomi va portidir. Soketda "socket. AF_INET" va "socket. SOCK_STREAM" parametrlari mavjud, chunki biz bu qo'llanmada TCP ulanishini o'rnatmaganmiz.
4 -qadam: Ba'zi kontentni yuborishga ruxsat bering
Biz netcat funktsiyasini uchinchi parametr - "tarkib" ni olish uchun kengaytirdik. Bu erda juda ko'p kontent bor, shuning uchun uni satr raqami bo'yicha ajratamiz.
14-16-qator: biz barcha kontentni rozetkaga yuboramiz, biroz kutamiz va keyin rozetkani har qanday chiquvchi ma'lumotga yopamiz, shunda rozetka boshqa ma'lumot kelmasligini biladi.
18-26-qator: biz server javobini saqlash uchun bufer yaratamiz va rozetka ma'lumotlarni qabul qilganda, o'qish uchun ma'lumotlar mavjud bo'lganda, natijaga 1024 baytgacha ma'lumotlarni qo'shamiz.
28-29 qator: biz netcat ulanishining bir martalik ulanish bo'lishini xohlaymiz, shuning uchun biz ulanishni yopiq deb e'lon qilamiz va keyin aloqani yopamiz.
31 -qator: Bu standart HTTP so'rovidir. Agar siz kodni "google.com" va "80" buyruq qatori argumentlari bilan ishlatsangiz, siz to'g'ri HTTP javobini ko'rasiz.
5 -qadam: Ochiq ulanishga ruxsat bering
Yuqoridagi kod (oldingi bo'lim kodidan pastda joylashgan) bizga soxta ochiq ulanish orqali bir nechta netcat buyruqlarini bajarishga imkon beradi. (Aslida, har safar siz buyruqni bajarganingizda, u yangi TCP ulanishini ochadi va yopadi, shuning uchun u netcat xatti -harakatlarini taqlid qilmaydi, biz buni faqat o'quv maqsadlarida qilamiz). Keling, bu qatorni satrlarga ajrataylik:
31 -qator: Biz "interaktivlikni" saqlab qolish uchun buyruqlarni cheksiz o'qishni xohlaymiz.
32 -qator: Bu bizning talabimiz mazmunini saqlaydigan buferimiz
36-45-qator: Biz bo'sh satr o'qilmaguncha buferga o'qiymiz
48 -qator: biz faqat netcat funktsiyasini xost nomi, port va yangi yaratilgan tarkib bilan chaqiramiz (bu to'g'ri kodlangan)
50 -satr: agar buferimiz tarkibida "Ulanish: Yopish" yozuvi bo'lsa (biz aloqani o'chirmoqchi ekanligimizni bildirsa), biz shunchaki ko'chadan chiqib ketamiz.
6 -qadam: Xulosa
Qo'llanma oxirida siz netcat -ning minimal ishlaydigan dasturiga ega bo'lishingiz kerak. Men foydalanuvchiga quyidagi funktsiyalarni amalga oshirishni mashq qilib qoldiraman:
1. boshqa protokollarni qo'llab -quvvatlash
2. har safar ulanishni yopmaslik uchun kodni tuzatish
3. netcat xatti -harakatlarini o'zgartirishi kerak bo'lgan bayroqlarni qo'shish
Tavsiya:
Python bilan papkalarni sinxronlashtirish: 5 qadam
Python bilan papkalarni sinxronlashtirish: Bu ko'rsatma sizga ikkita papkani (va undagi barcha papkalarni) sinxronlashtirishni ko'rsatib beradi, shuning uchun biri ikkinchisining to'g'ridan -to'g'ri nusxasi. Ishni mahalliy, bulutli/tarmoqli serverda yoki USB -diskda zaxiralash uchun ideal. Dasturlash tajribasi yo'q
Python Tic Tac Toe o'yini: 4 qadam
Python Tic Tac Toe O'yini: python tic tac toe o'yini, bu o'yin pythonda yaratilgan, u kompyuter tilida python muharriridan foydalangan: pycharm, siz oddiy python kod muharriridan ham foydalanishingiz mumkin
Python -da Google Colab -ni ishlatmaslik: 5 qadam
Python -da Google Colab -ni ishlatmaslik: bu juda qiyin! Bu nima?
Netcat qiziqarli!: 5 qadam
Netcat Fun!: Bu ko'rsatma sizga netcat bilan kompyuterda orqa eshikni qanday yaratishni ko'rsatib beradi! Men sizga buni avtomatlashtiradigan ommaviy faylim bilan va bo'lmasdan ikkita usulni ko'rsataman. Bu ko'rsatma allaqachon sizda ildiz ruxsatlari borligini taxmin qiladi
Netcat bilan yanada qiziqarli !!: 4 qadam
Netcat bilan ko'proq qiziqarli !!: Agar siz Netcat Backdoors uchun Duct lentasining qo'llanmasini o'qimagan bo'lsangiz, o'qing, keyin bu erga keling. Bu ko'rsatma netcat -ning asosiy buyruqlari va ulardan qanday foydalanishni o'z ichiga oladi. Bundan tashqari, u bir nechta asosiy ommaviy buyruqlarni ham o'z ichiga oladi