Агуулгын хүснэгт:

Python дахь Netcat: 6 алхам
Python дахь Netcat: 6 алхам

Видео: Python дахь Netcat: 6 алхам

Видео: Python дахь Netcat: 6 алхам
Видео: Python! Tuples 2024, Долдугаар сарын
Anonim
Python дахь Netcat
Python дахь Netcat

Netcat гэж юу вэ? Netcat-ийн гарын авлагын хуудсанд дараах зүйлийг дурдсан болно: "nc (эсвэл netcat) хэрэгсэл нь TCP, UDP эсвэл UNIX-домэйны залгууртай нарны доорх бүх зүйлд ашиглагддаг. Энэ нь TCP холболтыг нээх, UDP пакет илгээх, дурын хэлбэрээр сонсох боломжтой. TCP ба UDP портууд, порт скан хийх, IPv4 ба IPv6 хоёуланг нь ажиллуулах. Telnet (1) -ээс ялгаатай нь nc скриптүүд нь сайн бөгөөд алдааны мэдэгдлийг стандарт гаралт руу илгээхийн оронд стандарт гаралт руу илгээдэг."

Үндсэндээ netcat нь TCP эсвэл UDP протоколыг ашиглан бусад серверүүдтэй холбогдох боломжийг олгодог. TCP нь дамжуулах хяналтын протокол гэсэн үг бөгөөд холболтод чиглэсэн байдаг. UDP нь Universal Datagram Protocol гэсэн үг бөгөөд холболтгүй байна. TCP нь интернет програмуудад ихэвчлэн хэрэглэгддэг бол UDP нь медиа дамжуулалт эсвэл VPN ашиглахад ашиглагддаг.

Алхам 1: Бид хэрхэн эхлэх вэ?

Бид яаж эхлэх вэ?
Бид яаж эхлэх вэ?

Дээр дурдсан зүйлийг netcat гэж нэрлэдэг. Төгсгөлд нь "очих газар" ба "порт" гэсэн хоёр аргумент байгааг харж болно. Очих газар нь бидний холбогдох гэж буй серверийн хостын нэр эсвэл IP хаягийг хэлдэг бол порт нь холбогдохыг оролдож буй серверийн портыг хэлдэг.

Алхам 2: Эхлээд үзье

Эхлээд үзье
Эхлээд үзье

Дээрх нь Python кодын эхлэл юм. Таны харж байгаагаар бид програмын аргументуудыг бодит хэрэгсэл хэрхэн ажилладагтай ижил аргаар боловсруулахыг хүсч байна. Хостын нэр нь гүйцэтгэгдэж буй файлын нэрний дараах эхний аргумент байх бол порт нь тушаалын мөрөнд гүйцэтгэгчийн нэрийн дараа орох хоёр дахь аргумент байх болно.

Алхам 3: Холболт үүсгэх

Холболт үүсгэх
Холболт үүсгэх

Ашиглах боломжтой netcat функцийг бий болгоё. Энд үндсэндээ бидний хийж байгаа зүйл бол сокет үүсгэж, өгөгдсөн параметрүүдийг ашиглан сервертэй холбогдох явдал юм. Netcat командын хувьд одоогийн параметрүүд нь бидний холбогдохыг оролдож буй серверийн хост нэр ба порт юм. Энэ зааварт бид TCP холболтыг анхдагч болгож байгаа тул сокет нь "socket. AF_INET" ба "socket. SOCK_STREAM" гэсэн параметрүүдийг агуулдаг.

Алхам 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 -р мөр: бид зөвхөн сүлжээнийхээ функцийг хостын нэр, порт, шинээр үүсгэсэн контент (зөв кодчилсон) гэж нэрлэдэг.

50 -р мөр: Хэрэв манай буферын контент "Холболт: Хаах" гэсэн утгатай бол (холболтыг хаахыг хүсч байгаагаа илэрхийлнэ) бид зүгээр л тойргоос гардаг.

Алхам 6: Дүгнэлт

Энэ гарын авлагын төгсгөлд та хамгийн бага ажиллах netcat хэрэгжилттэй байх ёстой. Би хэрэглэгчид дараахь онцлог шинж чанаруудыг хэрэгжүүлэх дасгалыг үлдээх болно.

1. бусад протоколыг дэмжих

2. холболт бүрийг хаахгүй байх кодыг засах

3. netcat зан төлөвийг өөрчлөх ёстой тугуудыг нэмж оруулах

Зөвлөмж болгож буй: