قبل ان نبدا قم بفحص البورت 80
مشروع سكربت فحص منافذ السرفر Port Scanner
عند حدوث خطا في
connection.send('Hello World')
result = connection.recv(1024)فانه يطبع البور مغلق لذا اقترح تعديل بسيط على الدالة الاولى
def ScanTg(tgthost, tgtport):
try:
connection = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
connection.connect((tgthost, tgtport))
print "[+]%s/tcp open " %tgtport
try:
connection.send('Hello World')
result = connection.recv(1024)
print "[+]" + str(result)
except:
pass
connection.close()
except:
print "[-]%s/tcp closed" %tgtportاجريت بعض التعديلات على السكربت ما رايك ؟؟؟
#-------------------------------------------------------------------------------
# Name: PortScan
# Version: 1.1
# Copyright: arabteam2000-Python section
#-------------------------------------------------------------------------------
import socket
import optparse
import sys
import threading
class PortScan(threading.Thread):
def __init__(self, IP, tgtport ):
threading.Thread.__init__(self)
self.tgtport = tgtport
self.IP = IP
def run(self):
try:
connection = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
connection.connect((self.IP, self.tgtport))
try:
connection.send('Hello World')
result = connection.recv(1024)
print "[+]%s/tcp open " %self.tgtport +' '+ str(result)
except:
print "[+]%s/tcp open " %self.tgtport
connection.close()
except:
print "[-]%s/tcp closed" %self.tgtport
def scanop(tgthost, port):
try:
IP = socket.gethostbyname(tgthost)
port1, port2 = port[0].split('-')
for tgtport in range(int(port1), int(port2)+1):
scan = PortScan(IP, int(tgtport))
scan.start()
except socket.error:
print "[-] Cannot resolve"
except:
for tgtport in port:
scan = PortScan(IP, int(tgtport))
scan.start()
def main():
parser = optparse.OptionParser("usage%prog -H <target host> -p <target port>")
parser.add_option('-H', dest='tgthost', type='string', help='specify target host')
parser.add_option('-p', dest='tgtport', type='string', help='specify target port')
(options, args) = parser.parse_args()
tgthost = options.tgthost
port = [options.tgtport]+args
try:
scanop(tgthost, port)
except:
print '[-] You must specify a target host and port.'
exit()
if __name__ == '__main__':
main()تم تعديل هذه المشاركة بواسطة the.scorpion في 12 مارس 2014 في 00:14
جميل ما قمت به الآن السكربت يعمل بطريقة سريعة
إلى هنا ننهي المشروع,تستطيع الآن التلاعب في إرسال الحزم لتخطي حمايات التي سيصطدم بها البرنامج عند الفحص
يمكنك أيضا إستخدام مكتبة Nmap
تشرفت بالعمل معك ونلتقي في مشروع آخر إن شاء الله

وانا تشرفت بمعرفتك والعمل معك
تم تعديل هذه المشاركة بواسطة the.scorpion في 12 مارس 2014 في 19:26
مشكووووووووووور .. بعد حذف امر طباعة البور مغلق اختفت المشكلة
عامر الشابي كتب:جميل ما قمت به الآن السكربت يعمل بطريقة سريعة
إلى هنا ننهي المشروع,تستطيع الآن التلاعب في إرسال الحزم لتخطي حمايات التي سيصطدم بها البرنامج عند الفحص
يمكنك أيضا إستخدام مكتبة Nmap
تشرفت بالعمل معك ونلتقي في مشروع آخر إن شاء الله
السلام عليكم
حاليا أتعلم البايثون ولم أطلع على الكود بعد حتى أصبح ملم ولو قليل باللغه وعفوا على التدخل
عندي سؤال إن أمكن كيف يتم إرسال الحزم بمعنى ماهي الخطوات الأولى
ما لم أفهم كيف يتم التعامل مع جدار الحمايه بمعنى أريد بدايه الطريق كيف أتعامل مع جدار الحمايه لأرسل له حزم
مساعدة في ربط دالة الضغط على زر ودالة main() في المشروع
def scan(widget, data=None):
entry = data[0]
text = data[1]
ps = entry.get_text()ملاحظة : الواجهة مبرمجة بمكتبة gtk
تم تعديل هذه المشاركة بواسطة the.scorpion في 18 مارس 2014 في 01:04
أكتب كود الواجهة وبعدها إبدأ بتوزيع المهام
كمثال في نهاية تطبيق السكربت
def main():
gtk.main()
return 0
if __name__ == "__main__":
Buttons()
main()إن لم تفهم سأعطيك فكرة أخرى
تم تعديل هذه المشاركة بواسطة عامر الشابي في 18 مارس 2014 في 21:24

كتبت كود الواجهة لكن ما اقصد كيف اتعامل مع options
ملاحظة الملفين منفصلين
# -*- coding: utf-8 -*-
import pygtk
import gtk
import scan
def delete_event(widget, data):
return False
def destroy(widget, data=None):
gtk.main_quit()
def scan(widget, data=None):
entry = data[0]
text = data[1]
ps = entry.get_text()
window = gtk.Window(gtk.WINDOW_TOPLEVEL)
window.set_title("Port Scanning")
window.resize(500, 500)
window.connect("delete_event", delete_event)
window.connect("destroy", destroy)
window.show()
vbox = gtk.VBox(False, 5)
window.add(vbox)
vbox.show()
hbox = gtk.HBox(False , 5)
vbox.pack_start(hbox, False, False, 5)
hbox.show()
text = gtk.TextView()
vbox.pack_start(text, True, True, 5)
text.show()
entry = gtk.Entry()
hbox.pack_start(entry, True, True, 0)
entry.show()
wid = [entry, text]
btn = gtk.Button(" Scan ")
hbox.pack_start(btn, False, False, 0)
btn.connect("clicked", scan, wid)
btn.show()
gtk.main()تم تعديل هذه المشاركة بواسطة the.scorpion في 18 مارس 2014 في 22:09