- prises découvrir les ports firewalled
-
24-09-2019 - |
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.
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é).