11#!/usr/bin/env python
22
3+ import re
34import socket
45
56from Legobot .Utilities import Utilities as utils
910__copyright__ = "Copyright 2017, Legobot"
1011
1112
12- class Resolver (ToolScheme ):
13+ class Nslookup (ToolScheme ):
1314 """This class allows resolving the IP address from a domain name as well as
1415 the reverse process.
1516 """
@@ -18,23 +19,16 @@ def __init__(self, args):
1819 if utils .isNotEmpty (args ):
1920 super ().__init__ (args )
2021
21- self .fncs = {
22- 'host' : self ._host ,
23- 'nslookup' : self ._nslookup
24- }
25-
2622 def run (self ):
2723 if utils .isNotEmpty (self .target ):
28- if len (self .cmds ) > 0 :
29- for cmd in self .cmds :
30- try :
31- return self .fncs [cmd ]()
32- except KeyError :
33- return 'Command unknown: ' + cmd
24+ if re .match (r"^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$" , self .target ):
25+ return self ._getIP ()
26+ else :
27+ return self ._getDomainName ()
3428 else :
3529 return self .getHelp ()
3630
37- def _host (self ):
31+ def _getDomainName (self ):
3832 """Retrieve the IP address corresponding to a domain name.
3933
4034 Args:
@@ -48,7 +42,7 @@ def _host(self):
4842 except :
4943 return 'Host cannot be resolved'
5044
51- def _nslookup (self ):
45+ def _getIP (self ):
5246 """Retrieve the domain name corresponding to an IP address.
5347
5448 Args:
@@ -63,4 +57,4 @@ def _nslookup(self):
6357 return 'IP address cannot be resolved'
6458
6559 def getHelp (self ):
66- return " !resolver {--host | -- nslookup} {target}"
60+ return " !nslookup {target}"
0 commit comments