آموزش ساخت پورت اسکنر :: V i R u s Ʒ²

V i R u s Ʒ²

هک و امنیت

V i R u s Ʒ²

هک و امنیت

Virus 32

💢 دوستانم بی دفاع و دشمنانم بی جواب نخواهند ماند 💢

-->
آخرین نظرات
  • ۶ ارديبهشت ۰۳، ۱۶:۱۵ - hidden
    test

توی این پست از وب میخوایم بپردازیم به آموزش ساخت پورت اسکنر با استفاده از زبان برنامه نویسی پایتون ، یکی از اصلی ترین چیزایی که ما وقتی میخوایم به سیستم کسی نفوذ کنیم داشتن پورت و آی پی اونه ، پس توی این پست یاد میگیریم که چطور یه پورت اسکنر برای خودمون بسازیم و در حوضه ی هک و امنیت ازش استفاده کنیم البته گفتنیه برنامه های زیاد و قدرتمندی در این زمینه وجود داره همچنین برنامه ای که ما میسازیم سرعت اسکنش پایینه و طول میکشه تا پورت های یک آی پی رو اسکن کنه ولی خودتون میتونین با پست های آموزشی بعد سرعت اونو بالا ببرین 

خب برای ساخت این برنامه پایتون خودتون رو استارت کنین پروژه جدید بسازین و اونو ذخیره کنین ، خب حالا برین تو قسمت کد نویسی و کد های زیر رو داخلش کپی کنین تا خط به خط در مورد اون ها توضیح بدم


from socket import *

import os

targetserver = raw_input('Enter ip for scan : ')

targetIP = gethostbyname(targetserver)

print 'Ready to scan : ', targetIP

for i in range(1, 100):

s = socket(AF_INET, SOCK_STREAM)

result = s.connect_ex((targetIP, i))

if(result == 0):

print 'Port %d: OPEN' % (i,)

s.close()

خب توی خط 1 و 2 کتابخونه های مورد نیاز رو وارد برنامه کردیم ، توی خط 3 یک متغیر با نام targetserver درست کردیم و برابرش کردیم با ورودی که از کاربر میگیریم ، تو خط 4 یه متغیر با اسم targetIP درست کردیم و برابرش کردیم با gethostbyname اون آی پی که توی متغیر targetserver ریختیم ، توی خط 5 یک رشته رو به کاربر نشون میدیم که جلوی اون targetIP قرار داره ، targetIP ما هم میشه همون targetserver که از gethostbyname گذروندیم ، خب تو خط بعد یه حلقه درست کردیم و گفتیم که پورت های شماره 1 تا 100 رو برای ما اسکن کنه که ما میتونیم 100 رو به عدد دیگه ای هم تغییر بدیم ، بعد در خط بعدش اومدیم برای حلقمون کد نوشتیم و بعد از تعریف متغیر s اونو برابر  کردیم با AF_INET که داخل سوکت قرار داره ، حالا AF_INET چی هست ؟ از AF_INET برای فراخوانی پورت ها تو سطح Tcp استفاده میشه ، در خط بعدی یک متغیر با اسم result درست کردیم و برابر کردیم با اتصال به متغیر s که توی خط قبلی با استفاده از اون پورت های تو سطح شبکه رو خوندیم و داخل پرانتز هم میگیم آی پی ما که از کاربر گرفتیم و i که توی حلقمون تعریف کردیم تا پورت های  1 تا 100 رو برای ما اسکن کنه ، خب تو خط بعدی گفتیم اگر متغیر result برابر با صفر شد توی خط بعدی print کن ، حالا چرا 0 چرا 1 یا ... نه ؟ چون توی سوکت نویسی 0 به معنای باز و 1 به معنای بسته بودن هستش ، و در خط آخر هم که متغیر s رو بستیمش .

برای استفاده از برنامه هم کافیه با استفاده از این پست به آی پی پابلیک خودتون دست پیدا کنید .

خب یه نکته هم در آخر عرض کنم و اون هم اینکه فاصله ها توی پایتون خیلی مهمن و در صورتی که میخواین دستی وارد کنین به فاصله ها دقت کنین تا برنامه ارور نده حتی یک حرف هم اگه تو جاهای حساسش اینور و اونور شه برنامه ارور میده .

موفق باشید 

نظر (۶)

  • Virus32
  • میکروب ۳۲
  • عالی بود
  • Virus32
  • اصغر یه چشم
  • دمت گرم همینجوری ادامه بده خیلی جالب بود
    خیلی خوبه که پستاتون بصورت پروژه محوره
    Virus32 MR_C0D3R ‌ :
    عجب اسمی ، نظر لطفته xD
    میشه با پایتون برنامه ای نوشت که آی پی رو نشون بده؟؟(آی پی همین سیستمی که پایتون روش اجرا میشه؟؟)
    Virus32 MR_C0D3R ‌ :
    خوب متوجه نشدم سوالت رو ولی آموزش بدست آوردن آی پیه لوکال رو تو پایتون قبلا گفتم ، اگه منظورت آی پی پابلیک هست بگو آموزششو بنویسم ، اونم کلا تو سه خط کده :))
    آهان همون لینکی که گفتی درست بود.
    Virus32 MR_C0D3R ‌ :
    👍👍👍
    اخ‌اخ اینم ساختشو با سی شارپ میگفتی اصلن دیگه از شرمندگی گریه میکردم :(==
    😢💜
    Virus32 Virus 32 :
    داری سی شارپ یاد میگیری؟ :)
    private void ScanPort(IPAddress address, int port)
    {
    using (TcpClient client = new TcpClient())
    {
    try
    {
    client.Connect(address, port);
    txtDisplay.AppendText("Port: " + nudFrom.Value.ToString() +
    " is open." + Environment.NewLine);
    }
    catch (SocketException)
    {
    txtDisplay.AppendText("Port: " + nudFrom.Value.ToString() +
    " is closed." + Environment.NewLine);
    }
    }
    }
    شروع کن گیر کردی بپرس
    هستیم پیشت :)
    سلام ویروس جان
    این کدی که گفتی، کتابخونه using System.Net و
    using System.Net.Sockets رو هم اضافه کردم ولی به nudFrom.Value.ToString ارور میده!
    شرمنده، میشه خواهش کنم راهنماییم کنی؟!؟
    چند تا اشیا توو فرم بزارم؟
    بازم مرسی ، فدات :)
    Virus32 Virus 32 :
    سلام عزیز
    txtDisplay = textBox1
    nudFrom = numericUpDown1
    شاید من باید اینجوری مینوشتم :)
    ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
    شما میتوانید از این تگهای html استفاده کنید:
    <b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">
    تجدید کد امنیتی