কমপক্ষে পোর্টটি খোলা আছে কিনা তা যাচাই করার জন্য পাইথনের সাথে এটি সত্যিই সহজ হবে। তারপরে আপনি যাচাই করতে পারেন সেখানে কোনও ওয়েব-সার্ভার চলছে, যদি আপনি কোনও অনুরোধ করেন এবং শিরোনামটি যাচাই করেন ( 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()
এটি উভয়ই হবে:
কনসোলটিতে একটি বার্তা মুদ্রণ করুন: Open Port 80 on: xxx.xxx.xxx.xxx
আইপি ফাইলটিতে লগ করুন: openips.txtআপনি যেখানে থেকে স্ক্রিপ্টটি চালিয়েছেন সেখানে সেভ করে।