だから私はこれまでに学んだことを使ってPythonプログラムを作成しています。ここでは、ユーザーがスキャンするIPの開始と範囲を表す2つのIPを入力し、必要なIPをテキストファイルに保存します。これが私が思いついたものです:
#ip range and scanning
import socket
import sys
ok=[]
def ipscan(start2,port):
s=socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.settimeout(2)
try:
s.connect((start2,port))
print start2 ,'-->port %s is Open'%port
ok.append(start2)
except: print start2 ,'-->port %s is Closed ! '%port
def iprange(start,end):
while end>start:
start[3]+=1
ipscan('.'.join(map(str,start)),p)
for i in (3,2,1,0):
if start[i]==255:
start[i-1]+=1
start[i]=0
#--------------------------------------------#
sta=map(int,raw_input('From : ').split('.'))
fin=map(int,raw_input('to : ').split('.'))
p=input('Port to scan : ')
iprange(sta,fin)
print '-----------end--------------'
of=open('Output.txt','w')
for ip in ok:
of.writelines(ip+'\n')
of.close()
それは機能しているようですが、私はそれをもっと速くすることができるかどうか、またはもっと良い方法があるかどうかを確認する必要があります。