I code in both windows and Linux. As python is portable, the o/p
should be same in both cases. But why the following code is perfect in
windows but error one in Linux ???
from socket import *
import sys
status={0:"open ",10049:"addres s not available",1006 1:"closed",
10060:"timeout" ,10056:"already connected",1003 5:"filtered",11 001:"IP
not found",10013:"p ermission denied"}
def scan(ip,port,ti meout):
s = socket(AF_INET, SOCK_STREAM)
s.settimeout(ti meout)
try:
result= s.connect_ex((i p, port))
except:
print "Cannot connect to IP"
return
s.close()
return status[result]
if (len(sys.argv) == 4):
ip=sys.argv[1]
minrange = int(sys.argv[2])
maxrange = int(sys.argv[3])
timeout = 3
ports=range(min range,maxrange+ 1)
for port in ports:
print str(port) + " : " + scan(ip,port,ti meout)
else:
print "usage : " + sys.argv[0] + " <ip-address<min-port
range<max-port range>"
should be same in both cases. But why the following code is perfect in
windows but error one in Linux ???
from socket import *
import sys
status={0:"open ",10049:"addres s not available",1006 1:"closed",
10060:"timeout" ,10056:"already connected",1003 5:"filtered",11 001:"IP
not found",10013:"p ermission denied"}
def scan(ip,port,ti meout):
s = socket(AF_INET, SOCK_STREAM)
s.settimeout(ti meout)
try:
result= s.connect_ex((i p, port))
except:
print "Cannot connect to IP"
return
s.close()
return status[result]
if (len(sys.argv) == 4):
ip=sys.argv[1]
minrange = int(sys.argv[2])
maxrange = int(sys.argv[3])
timeout = 3
ports=range(min range,maxrange+ 1)
for port in ports:
print str(port) + " : " + scan(ip,port,ti meout)
else:
print "usage : " + sys.argv[0] + " <ip-address<min-port
range<max-port range>"
Comment