Բովանդակություն:

Netcat Python- ում ՝ 6 քայլ
Netcat Python- ում ՝ 6 քայլ

Video: Netcat Python- ում ՝ 6 քայլ

Video: Netcat Python- ում ՝ 6 քայլ
Video: Ten Minute Tutorials : Netcat Basics 2024, Նոյեմբեր
Anonim
Netcat Python- ում
Netcat Python- ում

Ի՞նչ է netcat- ը: Netcat- ի ձեռնարկի էջում գրված է հետևյալը. TCP և UDP նավահանգիստներ, կատարում են նավահանգիստների սկանավորում և զբաղվում են ինչպես IPv4- ով, այնպես էլ IPv6- ով: Ի տարբերություն telnet (1) - ի, nc սցենարները գեղեցիկ են և սխալ հաղորդագրությունները բաժանում է ստանդարտ սխալի վրա `դրանք ստանդարտ ելք ուղարկելու փոխարեն, ինչպես դա անում է telnet- ը (1)"

Ըստ էության, netcat- ը թույլ է տալիս միանալ այլ սերվերների ՝ օգտագործելով TCP կամ UDP արձանագրությունը: TCP- ը նշանակում է Transmission Control Protocol և հանդիսանում է կապի ուղղվածություն: UDP- ը նշանակում է Տվյալների համընդհանուր արձանագրություն և միացված չէ: TCP- ն սովորաբար օգտագործվում է ինտերնետային ծրագրերի համար, մինչդեռ UDP- ն օգտագործվում է մեդիա հոսքի կամ VPN- ների համար:

Քայլ 1: Ինչպե՞ս ենք մենք սկսում:

Ինչպե՞ս ենք մենք սկսում
Ինչպե՞ս ենք մենք սկսում

Վերևում ինչպես է կոչվում netcat: Դուք կարող եք տեսնել, որ վերջում կա երկու փաստարկ, որոնք կոչվում են «նպատակակետ» և «նավահանգիստ»: Նշանակումը վերաբերում է սերվերի սերվերի անունին կամ ip հասցեին, որին մենք փորձում ենք միանալ, մինչդեռ նավահանգիստը վերաբերում է այն սերվերի նավահանգստին, որին փորձում ենք միանալ:

Քայլ 2: Եկեք սկսենք

Եկեք սկսենք
Եկեք սկսենք

Վերևում կա սկզբնական պիթոնի ծածկագիր: Ինչպես տեսնում եք, մենք ցանկանում ենք ծրագրի փաստարկները մշակել այնպես, ինչպես իրական օգտակարությունն է անում: Հոստի անունը կլինի առաջին փաստարկը գործարկվողի անունից հետո, մինչդեռ նավահանգիստը կլինի երկրորդ արգումենտը հրամանի տողում գործարկվողի անունից հետո:

Քայլ 3: Կապի ստեղծում

Կապի ստեղծում
Կապի ստեղծում

Եկեք ստեղծենք netcat գործառույթ, որը կարող ենք օգտագործել: Այն, ինչ մենք հիմնականում անում ենք այստեղ, ստեղծում է վարդակից և միանում սերվերին `օգտագործելով տրված պարամետրերը: Netcat հրամանի համար ընթացիկ պարամետրերն են սերվերի սերվերի անունն ու պորտը, որին մենք փորձում ենք միանալ: Սոկտը պարունակում է «socket. AF_INET» և «socket. SOCK_STREAM» պարամետրերը, քանի որ այս ձեռնարկի համար մենք կանխադրված ենք TCP կապի վրա:

Քայլ 4: Թույլ տվեք ուղարկել որոշ բովանդակություն

Թույլ տվեք ուղարկել որոշ բովանդակություն
Թույլ տվեք ուղարկել որոշ բովանդակություն

Մենք երկարաձգեցինք մեր netcat գործառույթը `վերցնելու երրորդ պարամետրը` «բովանդակությունը»: Այստեղ շատ բովանդակություն կա, ուստի եկեք այն բաժանենք ըստ տողի համարի:

Տող 14-16. Մենք ամբողջ բովանդակությունը ուղարկում ենք վարդակից, մի փոքր սպասում ենք, այնուհետև վարդակը փակում ենք ելքային տվյալների վրա, որպեսզի վարդակից իմանա, որ այլևս տվյալներ չեն գալիս:

Տող 18-26. Մենք ստեղծում ենք բուֆեր ՝ սերվերի պատասխանը պահելու համար, և մինչ վարդակը տվյալներ է ստանում, արդյունքին ավելացնում ենք մինչև 1024 բայթ տվյալներ, քանի դեռ կան ընթերցման տվյալներ:

28-29 տող. Մենք ցանկանում ենք, որ այս netcat կապը լինի մեկանգամյա կապ, ուստի մենք հայտարարում ենք, որ կապը փակված է, այնուհետև փակվում է:

Տող 31. Սա ստանդարտ HTTP հարցում է: Եթե գործարկեք կոդը հրամանի տողի «google.com» և «80» արգումենտներով, ապա կտեսնեք HTTP- ի համապատասխան պատասխան

Քայլ 5: Թույլ տվեք ունենալ բաց կապ

Թույլ տվեք ունենալ բաց կապ
Թույլ տվեք ունենալ բաց կապ

Վերոնշյալ ծածկագիրը (որը գտնվում է նախորդ բաժնի ծածկագրի ներքևում) մեզ պարզապես թույլ է տալիս մի քանի netcat հրամաններ գործարկել կեղծ բաց կապի միջոցով: (Իրականում, ամեն անգամ, երբ հրաման եք գործարկում, այն բացվում և փակվում է նոր TCP կապով, ուստի այն իրականում չի նմանակում netcat- ի վարքագծին, մենք պարզապես դա անում ենք ուսուցման նպատակով): Թույլ տվեք նաև այս տող առ տող բաժանել.

Տող 31. Մենք ցանկանում ենք անվերջ կարդալ հրամանները, որպեսզի պահպանենք «ինտերակտիվությունը»

Տող 32. Սա մեր բուֆերն է, որը կպահի մեր հարցման բովանդակությունը

Տող 36-45. Մենք կկարդանք բուֆերի մեջ, մինչև չկարդանք դատարկ տողը

48 -րդ տող. Մենք պարզապես անվանում ենք մեր netcat գործառույթը `հյուրընկալողի անունով, նավահանգստով և նորաստեղծ բովանդակությամբ (որը ճիշտ կոդավորված է)

Տող 50. Եթե մեր բուֆերի պարունակությունը երբևէ պարունակի «Միացում.

Քայլ 6: Եզրակացություն

Այս ձեռնարկի վերջում դուք պետք է ունենաք նվազագույն աշխատանքային netcat իրականացում: Որպես վարժություն օգտագործողին կթողնեմ իրականացնել այնպիսի հնարավորություններ, ինչպիսիք են.

1. այլ արձանագրությունների աջակցում

2. ամրագրելով ծածկագիրը `ամեն անգամ կապը չփակելու համար

3. դրոշների ավելացում, որոնք netcat- ն արդեն պետք է փոխի վարքագիծը

Խորհուրդ ենք տալիս: