CODE SNIPPEST:
#!/usr/bin/env python
import socket
import threading
import optparse
screenLock = threading.Semaphore(value=1)
def connect(src, port):
try:
s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
s.connect((src,port))
s.send('ViolentPython\r\n')
results = s.recv(100)
screenLock.acquire()
print '\n[+] Scan Results for: %s\n' % port
print '[+]%s/tcp open\n'% port
print '[+] ' + str(results)
except:
screenLock.acquire()
print '\n[+] Scan Results for: %s\n' % port
print '[-]%s/tcp closed\n'% port
finally:
screenLock.release()
s.close()
def main():
parser = optparse.OptionParser("usage%prog -s <source_ip> -p <ports>")
parser.add_option("-s", "--source", dest="src",
help="Source IP / Hostname to scan", metavar="SOURCE")
parser.add_option("-p", "--ports",
dest="ports", default='80,21,143,443',metavar="PORTS",
help="port list e.g 21,80,8080")
(options, args) = parser.parse_args()
if options.src == None:
print parser.usage
exit(0)
source = options.src
ports = options.ports.split(',')
for port in ports:
t = threading.Thread(target=connect, args=(source,port))
t.start()
if __name__ == "__main__":
main()
OUTPUT:
root@Avinash:~/python_codes# python port_scanner.py -s 192.168.0.105
[+] Scan Results for: 80
[-]80/tcp closed
[+] Scan Results for: 143
[-]143/tcp closed
[+] Scan Results for: 21
[-]21/tcp closed
[+] Scan Results for: 443
[-]443/tcp closed
root@Avinash:~/python_codes#
#!/usr/bin/env python
import socket
import threading
import optparse
screenLock = threading.Semaphore(value=1)
def connect(src, port):
try:
s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
s.connect((src,port))
s.send('ViolentPython\r\n')
results = s.recv(100)
screenLock.acquire()
print '\n[+] Scan Results for: %s\n' % port
print '[+]%s/tcp open\n'% port
print '[+] ' + str(results)
except:
screenLock.acquire()
print '\n[+] Scan Results for: %s\n' % port
print '[-]%s/tcp closed\n'% port
finally:
screenLock.release()
s.close()
def main():
parser = optparse.OptionParser("usage%prog -s <source_ip> -p <ports>")
parser.add_option("-s", "--source", dest="src",
help="Source IP / Hostname to scan", metavar="SOURCE")
parser.add_option("-p", "--ports",
dest="ports", default='80,21,143,443',metavar="PORTS",
help="port list e.g 21,80,8080")
(options, args) = parser.parse_args()
if options.src == None:
print parser.usage
exit(0)
source = options.src
ports = options.ports.split(',')
for port in ports:
t = threading.Thread(target=connect, args=(source,port))
t.start()
if __name__ == "__main__":
main()
OUTPUT:
root@Avinash:~/python_codes# python port_scanner.py -s 192.168.0.105
[+] Scan Results for: 80
[-]80/tcp closed
[+] Scan Results for: 143
[-]143/tcp closed
[+] Scan Results for: 21
[-]21/tcp closed
[+] Scan Results for: 443
[-]443/tcp closed
root@Avinash:~/python_codes#
No comments:
Post a Comment