So I got this book Violent Python and well knowing just a little bit of Python 3 figured I get this to learn more about Network Programming with Python. Now realizing that the book uses an older version of python I wanted to learn to learn to get the code to work on 3. So I did the basic stuff like changing the print statements and what not but can't seem to figure out what else is wrong with the code. any help would be appreciated.
#!/usr/bin/python
# -*- coding: utf-8 -*-
import socket
import os
import sys
def retBanner(ip, port):
try:
socket.setdefaulttimeout(2)
s = socket.socket()
s.connect((ip, port))
banner = s.recv(1024)
return banner
except Exception:
return
def checkVulns(banner, filename):
f = open(filename, 'r')
for line in f.readlines():
if line.strip('\n') in banner:
print(('[+] Server is vulnerable: ' +
banner.strip('\n')))
def main():
if len(sys.argv) == 2:
filename = sys.argv[1]
if not os.path.isfile(filename):
print(('[-] ' + filename +
' does not exist.'))
exit(0)
if not os.access(filename, os.R_OK):
print(('[-] ' + filename +
' access denied.'))
exit(0)
else:
print(('[-] Usage: ' + str(sys.argv[0]) +
' <vuln filename>'))
exit(0)
portList = [21, 22, 25, 80, 110, 443]
for x in range(147, 150):
ip = '192.168.95.' + str(x)
for port in portList:
banner = retBanner(ip, port)
if banner:
print(('[+] ' + ip + ' : ' + banner))
checkVulns(banner, filename)
if __name__ == '__main__':
main()