ዝርዝር ሁኔታ:

Netcat በ Python: 6 ደረጃዎች
Netcat በ Python: 6 ደረጃዎች

ቪዲዮ: Netcat በ Python: 6 ደረጃዎች

ቪዲዮ: Netcat በ Python: 6 ደረጃዎች
ቪዲዮ: Very Advanced Lesson 3 | Web App Attack, Absolute Pwnage | Ages 16+ 2024, ህዳር
Anonim
Netcat በ Python ውስጥ
Netcat በ Python ውስጥ

Netcat ምንድነው? ለ netcat የማኑዋል ገጽ የሚከተለውን ይናገራል-“የ nc (ወይም netcat) መገልገያ TCP ፣ UDP ፣ ወይም UNIX- ጎራ ሶኬቶችን ለሚያካትት ለማንኛውም ነገር ያገለግላል። የ TCP ግንኙነቶችን መክፈት ፣ የ UDP ጥቅሎችን መላክ ፣ በዘፈቀደ ማዳመጥ ይችላል። TCP እና UDP ወደቦች ፣ የወደብ ቅኝት ያድርጉ እና ከሁለቱም IPv4 እና IPv6 ጋር ይነጋገሩ። ከ telnet (1) በተቃራኒ ፣ nc እስክሪፕቶች በጥሩ ሁኔታ እና የስህተት መልዕክቶችን ወደ መደበኛ ውፅዓት ከመላክ ይልቅ በመደበኛ ስህተት ላይ ይለያቸዋል ፣ ቴልኔት (1) በአንዳንድ እንደሚያደርገው »

በመሠረቱ ፣ netcat የ TCP ወይም የ UDP ፕሮቶኮልን በመጠቀም ከሌሎች አገልጋዮች ጋር እንዲገናኙ ያስችልዎታል። TCP ማለት የማስተላለፊያ ቁጥጥር ፕሮቶኮል ነው ፣ እና ግንኙነትን ያማከለ ነው። UDP ዩኒቨርሳል ዳታግራም ፕሮቶኮልን ያመለክታል ፣ እና ግንኙነት የለውም። TCP በተለምዶ ለበይነመረብ መተግበሪያዎች ጥቅም ላይ ይውላል ፣ UDP ደግሞ ለመገናኛ ዥረት ወይም ለቪ.ፒ.ኤን.

ደረጃ 1: እንዴት እንጀምራለን?

እንዴት እንጀምራለን?
እንዴት እንጀምራለን?

ከላይ netcat ተብሎ የሚጠራው ከላይ ነው። መጨረሻ ላይ “መድረሻ” እና “ወደብ” የሚባሉ ሁለት ክርክሮች እንዳሉ ማየት ይችላሉ። መድረሻው እኛ ለመገናኘት የምንሞክርበትን የአገልጋይ ስም ወይም የአይፒ አድራሻ ያመለክታል ፣ ወደቡ ደግሞ እኛ ለመገናኘት የምንሞክረው የአገልጋዩን ወደብ ያመለክታል።

ደረጃ 2: እንጀምር

እንጀምር
እንጀምር

ከላይ አንዳንድ ጅምር የፓይዘን ኮድ አለ። እርስዎ እንደሚመለከቱት ፣ እውነተኛው መገልገያ እንዴት እንደሚሰራ በተመሳሳይ መልኩ ክርክሮችን ወደ ፕሮግራሙ ማካሄድ እንፈልጋለን። የአስተናጋጁ ስም ከአስፈፃሚው ስም በኋላ የመጀመሪያው ክርክር ሲሆን ፣ ወደብ ደግሞ በትእዛዝ መስመሩ ውስጥ ከአስፈፃሚው ስም ቀጥሎ ሁለተኛው ክርክር ይሆናል።

ደረጃ 3 - ግንኙነት መፍጠር

ግንኙነት መፍጠር
ግንኙነት መፍጠር

እኛ ልንጠቀምበት የምንችለውን የ netcat ተግባር እንፍጠር። እዚህ እኛ እዚህ የምናደርገው ሶኬት በመፍጠር እና የተሰጡትን መለኪያዎች በመጠቀም ከአገልጋዩ ጋር መገናኘት ነው። ለ netcat ትዕዛዝ ፣ የአሁኑ መለኪያዎች እኛ ለመገናኘት የምንሞክረው የአገልጋዩ የአስተናጋጅ ስም እና ወደብ ናቸው። ለዚህ ማጠናከሪያ ትምህርት ወደ TCP ግንኙነት ነባሪ ስለሆንን ሶኬቱ "socket. AF_INET" እና "socket. SOCK_STREAM" የሚሉትን መለኪያዎች ይ containsል።

ደረጃ 4: የተወሰነ ይዘት ይላኩ

የተወሰነ ይዘት ላክልን
የተወሰነ ይዘት ላክልን

እኛ ሶስተኛውን መለኪያ ፣ “ይዘት” ለመውሰድ የእኛን የኔትካስት ተግባር አራዝመናል። እዚህ ብዙ ይዘት አለ ስለዚህ በመስመር ቁጥር እንከፋፈል።

መስመር 14-16-ይዘቱን በሙሉ በሶኬት ላይ እንልካለን ፣ ትንሽ እንጠብቃለን ፣ ከዚያ ሶኬት ምንም የሚመጣ ውሂብ እንደሌለ ሶኬቱን ወደ ማንኛውም የወጪ ውሂብ እንዘጋለን።

መስመር 18-26-የአገልጋዩን ምላሽ ለማከማቸት ቋት እንፈጥራለን ፣ እና ሶኬቱ ውሂብን በሚቀበልበት ጊዜ ፣ ለማንበብ መረጃ እስካለ ድረስ እስከ 1024 ባይት የውጤት መረጃ እንጨምረዋለን።

መስመር 28-29-ይህ የ netcat ግንኙነት የአንድ ጊዜ ግንኙነት እንዲሆን እንፈልጋለን ፣ ስለዚህ ግንኙነቱ ተዘግቶ እና ግንኙነቱን እንዘጋለን።

መስመር 31 ይህ መደበኛ የኤችቲቲፒ ጥያቄ ነው። በትእዛዝ መስመር ግቤቶች “google.com” እና “80” ኮዱን ካሄዱ ፣ ከዚያ ትክክለኛውን የኤችቲቲፒ ምላሽ ያያሉ።

ደረጃ 5: ክፍት ግንኙነት ይኑረን

ክፍት ግንኙነት ይኑረን
ክፍት ግንኙነት ይኑረን

ከላይ ያለው ኮድ (ከቀዳሚው ክፍል ከኮዱ በታች የሚገኘው) በቀላሉ በሐሰተኛ ክፍት ግንኙነት ላይ ብዙ የኔትካat ትዕዛዞችን እንድናከናውን ያስችለናል። (በእውነቱ ፣ ትዕዛዙን በሄዱ ቁጥር እሱ ይከፍታል እና ከዚያ አዲስ የ TCP ግንኙነትን ይዘጋል ፣ ስለሆነም የኔትካትን ባህሪ በእውነት አይኮርጅም ፣ እኛ ይህንን ለመማር ዓላማዎች ብቻ እናደርጋለን)። ይህንን መስመር በመስመርም እንሰብረው -

መስመር 31 “መስተጋብራዊነትን” ለማቆየት ትዕዛዞችን ላልተወሰነ ጊዜ ማንበብ እንፈልጋለን።

መስመር 32 - ይህ የጥያቄያችንን ይዘት የሚያከማች የእኛ ቋት ነው

36-45 መስመር-ባዶ መስመር እስክናነብ ድረስ ወደ ቋት ውስጥ እናነባለን

መስመር 48 እኛ በቀላሉ የእኛን netcat ተግባር በአስተናጋጅ ስም ፣ ወደብ እና አዲስ በተፈጠረ ይዘት (በትክክል በኮድ የተቀመጠ) ብለን እንጠራዋለን

መስመር 50 - የእኛ ቋት ይዘት መቼም ቢሆን “ግንኙነት: ዝጋ” (ግንኙነቱን መዝጋት እንደምንፈልግ የሚያመለክት ከሆነ)

ደረጃ 6 መደምደሚያ

በዚህ ማጠናከሪያ ትምህርት መጨረሻ ላይ አነስተኛ የሥራ ኔትኬት ትግበራ ሊኖርዎት ይገባል። እንደነዚህ ያሉትን ባህሪዎች ለመተግበር ለተጠቃሚው እንደ ልምምድ እተወዋለሁ።

1. ሌሎች ፕሮቶኮሎችን መደገፍ

2. ግንኙነቱን በእያንዳንዱ ጊዜ እንዳይዘጋ ኮዱን ማስተካከል

3. netcat ቀድሞውኑ ባህሪውን ማሻሻል ያለበት ባንዲራዎችን ማከል

የሚመከር: