رفتن به مطلب
برای استفاده از انجمن و عضـویت کلیک کنید.
جستجو در
  • تنظیمات بیشتر ...
نمایش نتایجی که شامل ...
جستجو در ...

جهت دسترسی به فایل ها و آموزش ها ویژه

پست های پیشنهاد شده

سلام به عنوان اولین تاپیک گفتم ساخت یه پورت اسکنر ساده رو  با پایتون در  4 مرحله  اموزش بدم

خب همونطور که میدونین یک هکر باید تا جایی که امکانش هست و وقت داره ابزارهاش رو خودش درست کنه و این یکی از ویژگی های یک هکر حرفه ای هست(فقط هکر نه،  خیلی از افرادی که ادعای برنامه نویسی یا مسلط بودن دارن با اینکه میتونن بسازن اما  به خودشون زحمت نمیدن و این خوب نیست ) و یه عذزخواهی کنم چون به دلایلی نتونستم به صورت تصویری یا فیلم بزارم اما حیفم اومد نزارم...

 

*************************************************************************************************************************

*ورژنی که استفاده میشه 3.7 هست

*توی پایتون فاصله ها یا همون indentation خیلی مهم هستن من توی کد های پایین رعایت کردم پس شما هم حواستون باشه

*************************************************************************************************************************

 

1:

اول از همه باید کتابخونه های مورد نیاز رو اضافه کنیم با دستور import  و یه while  تعریف کنیم که بتونیم هرچقدر خواستیم برنامه رو تکرار کنیم یا یک تابع تعریف کنیم که من راه اول رو رفتم

import socket
import sys
import os
from datetime import datetime
ans = 'y'
clear = lambda: os.system('clear')# <- لینوکس
clear = lambda: os.system('cls')#<- ویندوز
while(ans=='y')  :
    clear()

اینکه هر کتابخونه چیکار میکنه خودتون توی ادامه کار میبینید

کدی که توی خط 6 میبینید واسه راحت تر شدن کارمون هست که هرجا از برنامه خواستیم صفحه رو پاک کنیم فقط ()clear را تایپ کنیم  که این کد در ویندوز و لینوکس فرق میکنه

 

2:

خب حالا باید ای پی یا دامنه رو از کاربر بگیریم و بگیم اگر دامنه بود اون رو به ای پی تبدیل کن (خط دوم)

    ip = input("Enter ip or Domain : ")
    host_ip = socket.gethostbyname(ip)

 

3:

الان باید اون پورت هایی رو که میخوایم تست کنیم باز هست یا نه رو یا توی خود برنامه تعریف کنیم یا اینکه به عنوان ورودی بگیریم(دومی رو پیشنهاد میدم) پس اینجا باید یه سوال بزاریم که میخوای خودت پورت وارد کنی یا نه...

    an=input("do you choise your ports?? y/n \n")
    if(an=="y"):
        clear()
        a=int(input("Enter start port : \n "))
        b=int(input("Enter End port : \n "))
    else:
        a=20
        b=1024  
    clear()
    print("-"*55)# <-واسه قشنگ شدن برنامه
    print("Scanning * {} * Please Wait".format(host_ip))
    print("-"*55)# <-واسه قشنگ شدن برنامه
    t1 = datetime.now()

اینجا یه توضیح بدم که خط اول که سوال میکنیم میخوای پورت هات رو خودت انتخاب کنی یا نه و میگیم اگه جواب  y بود که میگیم پورت ها رو وارد کن و اگه n بود یه رنج پورت از 20 تا 1024 بهش میدیم(میتونین تغیییر بدین) و خط اخر هم واسه اینه که یه زمان از الان بزنه و نگهداره واسه اینکه در اخر کار بفهمیم اسکن ما چقدر طول کشید

 

4:

و مرحله اخر هم که خود عملیات هست که دیگ توضیح الکی نمیدم طولانی نشه

    try:
        for port in range (a,b):
            sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
            result = sock.connect_ex((host_ip,port))
            if result == 0 :
                print("port {} :   open ".format(port))
            sock.close()
        t2 = datetime.now()
        t3 = t2-t1
        print("scan Finished in : ",t3)
        ans = input("\n Try Again ??  y/n \n")
        if(ans=="n"):
            sys.exit()
        
    except KeyboardInterrupt:      
        print("incorrect :/")
        sys.exit()

خب و اخرین چیز اینکه میتونین خودتون قشنگ ترش کنین مثلا رنگ بهش بدید یا اینکه اولش یه متن بزنین Port Scanner یه نمونش این :

print('''
_____           _      _____                                 
|  __ \         | |    / ____|                                
| |__) |__  _ __| |_  | (___   ___ __ _ _ __  _ __   ___ _ __ 
|  ___/ _ \| '__| __|  \___ \ / __/ _` | '_ \| '_ \ / _ \ '__|
| |  | (_) | |  | |_   ____) | (_| (_| | | | | | | |  __/ |   
|_|   \___/|_|   \__| |_____/ \___\__,_|_| |_|_| |_|\___|_|        ''')         
                                                             

سوال یا مشکلی بود بگید جواب میدم...❤️

یه نمونه رو هم پیوست کردم

portscanner.py

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

مهمان
ارسال پاسخ به این موضوع ...

×   شما در حال چسباندن محتوایی با قالب بندی هستید.   حذف قالب بندی

  تنها استفاده از ۷۵ اموجی مجاز می باشد.

×   لینک شما به صورت اتوماتیک جای گذاری شد.   نمایش به عنوان یک لینک به جای

×   محتوای قبلی شما بازگردانی شد.   پاک کردن محتوای ویرایشگر

×   شما مستقیما نمی توانید تصویر خود را قرار دهید. یا آن را اینجا بارگذاری کنید یا از یک URL قرار دهید.

در حال بارگذاری

×
×
  • جدید...