Banner Grabbing Python Script

This is simple banner grabbing python script which can grab service banner of ports 21,22,25,80,110,443. If you want to grab banner of different ports ;you can modified it as per your requirement.

#!/usr/bin/python
import socket

def retBanner(ip, port):
try:
socket.setdefaulttimeout(2)
s = socket.socket()
s.connect((ip, port))
banner = s.recv(1024)
return banner
except:
return

def main():

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

if __name__ == ‘__main__’:
main()

First we import socket library to script. Then we defined two function (1)retBanner (2)main

(1)retBanner:-

socket.setdefaulttimeout(2) indicate that default timeout of socket is 2 second.

s = socket.socket() indicate that we open socket.

s.connect((ip, port)) indicate that connect socket to specific i.p. and specific port.

s.recv(1024) read next 1024 bytes of socket & save it value to variable banner.

(2)main:-

portList = [21,22,25,80,110,443] :- grabbing banner of these ports.If you want to grab more port just add port number in portList array.

for x in range(147, 150): :- It is used for grab banner of block of i.p. It only change fourth octet of i.p. address. Change value according to your requirement.

ip = ‘192.168.95.’ + str(x) :- we defined first three octet of i.p. ;& fourth octet is come from for loop.

for port in portList: :- Scan one by one port from array portList.

banner = retBanner(ip, port) : we called first function retBanner & saved it value to variable banner.

And last two line indicate that if we got banner than print on screen with i.p. : banner.

(3)if __name__ == ‘__main__’: It indicate that hat our Python files can act as either reusable modules, or as standalone programs.

And last line of calling of main function.

python_banner_grabbing

python_banner_grabbing

Usage of script
chmod +x script_name
python script_name

Leave a comment