Question

J'ai lu le code source nmap parce que je voudrais savoir comment il découvre que certains ports sont filtrés ou firewalled. J'ai une certaine expérience avec les prises en c et j'ai construit des scanners de ports simples, qui est facile - si la connexion est établie, le port est ouvert, sinon il est fermé (en raison de la TVD retourné). Mais dans le cas des ports firewalled, ils ne reviennent pas en arrière paquet RST, et mon scanner de port juste « attend » pour toujours.

Si quelqu'un a de l'expérience avec ce sujet, s'il vous plaît me indiquer les parties du code nmap où l'analyse réelle et la détermination d'état du port se produit, ou au moins me dire s'il y a d'autres codes disponibles qui traitent de ce problème.

Était-ce utile?

La solution

Utiliser les appels API socket asynchrone (c.-à-ne pas attendre que la connexion soit établie, et plutôt essayer le prochain port / adresse en parallèle) et définir un délai raisonnable (par exemple, si la connexion est pas établie après une minute, vous peut considérer filtré).

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top