গণ বন্দর 80 চেক


0

সুতরাং এটি আমার করা দরকার। একবারে প্রচুর আইপিতে পোর্ট 80 খোলা আছে (হোস্ট যদি পোর্ট ৮০ তে ওয়েব সার্ভার চালাচ্ছে) তা খুব দ্রুত খতিয়ে দেখার জন্য আমার একটি উপায় প্রয়োজন এবং তারপরে কেবল পোর্ট ৮০ খোলা আইপিএস সংরক্ষণ করুন। এটি দ্রুত করার সবচেয়ে ভাল উপায় কী হবে? ধন্যবাদ।

উত্তর:


2

কমপক্ষে পোর্টটি খোলা আছে কিনা তা যাচাই করার জন্য পাইথনের সাথে এটি সত্যিই সহজ হবে। তারপরে আপনি যাচাই করতে পারেন সেখানে কোনও ওয়েব-সার্ভার চলছে, যদি আপনি কোনও অনুরোধ করেন এবং শিরোনামটি যাচাই করেন ( 200 OKআমার মনে হয়)।

যাইহোক, আপনার সিস্টেমে এটি Pythonইনস্টল nmapকরতে এবং তারপরে পাইথন এনম্যাপ বাইন্ডিংগুলি।

#!/usr/bin/env python

import nmap, threading, urllib2, socket

baseip = "108.170.28.{}"

def NmapPortScan( targethost, targetport = 80 ):
    print("Trying: " + str(targethost) )
    scanner = nmap.PortScanner()
    result = scanner.scan( str(targethost), str(targetport) )

    if ( int(result['nmap']['scanstats']['uphosts']) == 1):
        try:
            state = result[str(targethost)]['tcp'][int(targetport)]['state']
            print "State: {} : {}".format(str(targethost), str(state))
            return state
        except:
            print "State: {} : {}".format( str(targethost), "error")
            return "error"
    else:
        print "{}: Not up".format( str(targethost) )
        return "notup"

def CheckHttpStatus( targethost ):
    req = urllib2.urlopen( targethost )
    if( "Content-Type: text/html" in req.info().headers[3] ):
        return True
    else:
        return False

def LogIp( ipaddr ):
    with open("openips.txt", "a") as fi:
        fi.write( ipaddr + '\n' )
        fi.close()

def CheckIps( ip ):
    if ( NmapPortScan( ip ) == "open" ) and ( CheckHttpStatus( "http://" + socket.gethostbyaddr( ip )[0] ) ):
        #if ( CheckHttpStatus( "http://" + socket.gethostbyaddr( ip )[0] ) ):
        LogIp( ip )
        print( "Open Port 80 on: " + str(ip) )

def main():
    for i in range(153, 201):
    #for i in range(153, 154):
        ip = baseip.format(str(i))
        #CheckIps( ip )
        th = threading.Thread(target=CheckIps, args=(ip,))
        th.start()

if __name__ == "__main__":
    main()

এটি উভয়ই হবে:

  1. কনসোলটিতে একটি বার্তা মুদ্রণ করুন: Open Port 80 on: xxx.xxx.xxx.xxx

  2. আইপি ফাইলটিতে লগ করুন: openips.txtআপনি যেখানে থেকে স্ক্রিপ্টটি চালিয়েছেন সেখানে সেভ করে।


হুম ... আপনি কি বড় আইপি রেঞ্জ স্ক্যান করার জন্য এই কাজটি করতে পারেন? অজগর আমি জানি না ...
ব্যবহারকারীর 303079

@ ব্যবহারকারী1307079 - আমি এটি করতে এবং পরীক্ষা করতে পারলে আমি এক মিনিটে আপডেট করব।
নারদওয়ালার

@ ব্যবহারকারী1307079 - হয়ে গেছে। আপনার আইপি ব্যাপ্তির জন্য কাজ করা উচিত, তবে দেখে মনে হচ্ছে কিছু "আপ" রয়েছে এবং একগুচ্ছ ত্রুটি দিচ্ছে। আপনি যদি গুগলের আইপি প্লেন করেন 74.125.225.167- ব্যাপ্তির পরিবর্তে, আপনি দেখতে পাবেন এটি খুশি।
নার্ডওয়ালার

ধন্যবাদ, এটি কাজ করে :)। আইপি এর আরও বৃহত্তর পরিসর স্ক্যান করতে কীভাবে এটি কনফিগার করব? 1.xxx অবধি সমস্ত উপায় পছন্দ করে এবং আপনি কি মনে করেন যে পাইথন এনম্যাপ মডিউলটি নিয়মিত এনএম্যাপ স্ক্যানের চেয়ে দ্রুততর হবে?
ব্যবহারকারী1307079

@ ব্যবহারকারী1307079 - এতে আরও কিছুটা সময় লাগবে, তবে আপনি পারেন। সবচেয়ে সহজ উত্তরটি হল আপনি যদি 1.0.0.0 থেকে 1.255.255.255 পর্যন্ত সমস্ত আইপিগুলি করতে চান: baseip = "1.{0}.{0}.{0}"এবং তারপরে আমার লুপটি পরিবর্তন করুন for i in range(0, 256): (দ্রষ্টব্য: 256 কারণ এটি [start-end))। হ্যাঁ, এটি সম্ভবত দ্রুততর কারণ আপনি সমস্ত এনএম্যাপের কাজটি থ্রেড করছেন। তবে আমি সীমিত ব্যবহারের ক্ষেত্রে এটির জন্য এনএম্যাপ কীভাবে সম্পূর্ণরূপে কাজ করে সে সম্পর্কে আমি খুব বেশি পরিচিত নই।
নার্ডওয়ালার

3

দ্রুততম উপায়:

~ # nmap 192.168.1.0/24 -p 80

কেবল আপনার সাবনেট / মাস্কে 192.168.1.0/24 পরিবর্তন করুন


2

কমান্ড-লাইন সরঞ্জাম সম্পর্কে তথ্যের জন্য nmap.org দেখুন nmap, যা ইতিমধ্যে আপনার সিস্টেমে ইনস্টল করা থাকতে পারে। এটা ঠিক এই উদ্দেশ্যে। মনে রাখবেন, কোন খারাপ কাজ করবেন না!


আমি এটি চেষ্টা করেছি: nmap 108.170.28.153-200 -p 80 | grep -Em 1 "\|[0-9\.]+\|" | sed -r "s/^.*\|([0-9\.]+)\|.*$/\1/g" >>file.txtতবে আমি এই ত্রুটিটি Failed to find device eth0 which was referenced in /proc/net/route
পেয়েছি

1
এটি সম্পূর্ণ পৃথক সমস্যা ...
ম্যাটডিমো

1
আপনি কী ত্রুটি বার্তাটি গুগল-ইনগ করার চেষ্টা করেছেন?
জ্যানোস পাস্জ্টর

হ্যাঁ, আমি কোনও সহায়ক পেতে পারি না, যদিও আমি আমার মূল
নৈতিকতার

হ্যাঁ, আমি বুঝতে পেরেছি। আপনি কি সর্বশেষতম সংস্করণ চালাচ্ছেন nmap?
ম্যাটডিমো

1

কোনও স্ক্রিপ্ট লিখুন যা প্রশ্নে আইপি ঠিকানাগুলি জিজ্ঞাসা করার জন্য এনএম্যাপ বা নেটক্যাট ব্যবহার করে ফলাফলটি বিশ্লেষণ করে।


আমি এটি চেষ্টা করেছি: nmap 108.170.28.153-200 -p 80 | grep -Em 1 "\|[0-9\.]+\|" | sed -r "s/^.*\|([0-9\.]+)\|.*$/\1/g" >>file.txtতবে আমি এই ত্রুটিটি Failed to find device eth0 which was referenced in /proc/net/route
পেয়েছি

0

গ্রেপ মাধ্যমে Nmap এবং পাইপ আউটপুট।


আমি এটি চেষ্টা করেছি: nmap 108.170.28.153-200 -p 80 | grep -Em 1 "\|[0-9\.]+\|" | sed -r "s/^.*\|([0-9\.]+)\|.*$/\1/g" >>file.txtতবে আমি এই ত্রুটিটি Failed to find device eth0 which was referenced in /proc/net/route
পেয়েছি

স্ক্যান করা পোর্টটি অনলাইনে আপনাকে জানাতে আপনাকে "ওপেন" বা নির্দিষ্ট কিছু যা এনএমএপ উত্পন্ন করে তার জন্য গ্রেপ করা দরকার।
কলঙ্কবাদী

এটি কাজ করে তাই আমি কীভাবে এটি পরিবর্তন করব? কিছুই আউটপুট হয় না।
ব্যবহারকারী1307079
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.