@@ -47,21 +47,22 @@ class Nmap(object):
47
47
by calling nmap3.Nmap()
48
48
"""
49
49
50
- def __init__ (self , path = None ):
50
+ def __init__ (self , enable_ipv6 = False , path = None ):
51
51
"""
52
52
Module initialization
53
53
54
54
:param path: Path where nmap is installed on a user system. On linux system it's typically on /usr/bin/nmap.
55
55
"""
56
56
57
57
self .nmaptool = path if path else get_nmap_path ()
58
- self .default_args = "{nmap} {outarg} - "
58
+ self .default_args = "{nmap} {outarg} - {enable_ipv6} "
59
59
self .maxport = 65389
60
60
self .target = ""
61
61
self .top_ports = dict ()
62
62
self .parser = NmapCommandParser (None )
63
63
self .raw_ouput = None
64
64
self .as_root = False
65
+ self .enable_ipv6 = enable_ipv6
65
66
66
67
def require_root (self , required = True ):
67
68
"""
@@ -78,7 +79,10 @@ def default_command(self):
78
79
if self .as_root :
79
80
return self .default_command_privileged ()
80
81
81
- return self .default_args .format (nmap = self .nmaptool , outarg = "-oX" )
82
+ if self .enable_ipv6 :
83
+ return self .default_args .format (nmap = self .nmaptool , outarg = "-oX" , enable_ipv6 = "-6" )
84
+ else :
85
+ return self .default_args .format (nmap = self .nmaptool , outarg = "-oX" )
82
86
83
87
def default_command_privileged (self ):
84
88
"""
@@ -89,7 +93,10 @@ def default_command_privileged(self):
89
93
# For windows now is not fully supported so just return the default
90
94
return self .default_command ()
91
95
else :
92
- return self .default_args .format (nmap = "sudo " + self .nmaptool , outarg = "-oX" )
96
+ if self .enable_ipv6 :
97
+ return self .default_args .format (nmap = self .nmaptool , outarg = "-oX" , enable_ipv6 = "-6" )
98
+ else :
99
+ return self .default_args .format (nmap = self .nmaptool , outarg = "-oX" )
93
100
94
101
def nmap_version (self ):
95
102
"""
0 commit comments