Utilisation du module libnmap python, j'ai ce code python:Appel get_host_byid de retours libnmap "Aucun" au lieu d'un objet hôte
def DiffScan(Old, New):
Added = Old.diff(New).added()
for i in Added:
anIP = i.split('::')[1]
print "IP for lookup is " + anIP + " of " + str(type(anIP))
anewhost = New.get_host_byid(anIP)
pprint.pprint(anewhost)
Quand j'appelle cette fonction, je reçois la sortie:
IP for lookup is X.X.X.X of <type 'str'>
None
IP for lookup is Y.Y.Y.Y of <type 'str'>
None
Mon attente est que, au lieu de « aucun », je reçois quelque chose comme:
IP for lookup is Z.Z.Z.Z of <type 'str'>
NmapHost: [Z.Z.Z.Z() - up]
Je ne suis pas sûr pourquoi la appel à .get_host_byid()
renvoie Aucun et pas un objet NMapHost
. Peut-être qu'il y a un problème avec ma chaîne anIP
, mais je ne trouve pas l'erreur.
Je l'ai fait un peu plus d'expérimentation en utilisant .get_host_byid() hors d'un objet sauvé libnmap.objects.report. J'appelle la fonction avec les adresses IP littérales que je connais sont dans le rapport. Parfois je récupère un objet NmapHost et parfois je reviens "None". Sur la base des données que j'utilise, je devrais avoir un objet NMapHost à chaque fois. L'analyse sur laquelle le rapport est basé est de plus de 20 Mo. Peut-il y avoir un problème avec une variable trop grande? – Rudi