View difference between Paste ID: MJKeviqb and xVT7suqt
SHOW: | | - or go back to the newest paste.
1
#!/usr/bin/python
2
3
import subprocess, re, sys
4
5
def return_ttl(address):
6
	proc = subprocess.Popen(["ping -c 1 %s" % address, ""], stdout=subprocess.PIPE, shell=True)
7
	(out, err) = proc.communicate()
8
	out = out.split()
9
	out = re.findall(r"\d{1,3}", out[12])
10
11
	return out[0]
12
13
def return_ttl_os_name(ttl_number):
14
15
	if ttl_number >= 0 and ttl_number <= 64:
16
		return "Linux"
17
	elif ttl_number >= 65 and ttl_number <= 128:
18
		return "Windows"
19
	else:
20
		return "Unknown"
21
22
if len(sys.argv) != 2:
23
	print "\n[*] Usage: python " + sys.argv[0] + " <ip-address>\n"
24
	sys.exit(1)
25
26
if __name__ == '__main__':
27
	addr = sys.argv[1]
28
	ttl = return_ttl(addr)
29
30
	try:
31
		print "\n%s -> %s" % (addr, return_ttl_os_name(int(ttl)))
32
	except:
33
		pass