Tirant enregistrement MX du serveur DNS
Je suis en train d'écrire une application qui m'oblige à faire une recherche DNS pour un enregistrement MX. Je ne suis pas sûr si quelqu'un a eu l'expérience de faire ce genre de travail, mais si vous le faites, toute aide serait appréciée.
EDIT:
La chose que je vais faire est une application qui vous permettra d'envoyer un e-mail d'alerte. Le problème est que j'ai besoin d'avoir l'application sera en mesure de rechercher l'enregistrement MX du domaine.
Quelle est votre question? C'est un peu diffus pour le moment. Aussi, si vous avez le code lié à la le problème à portée de main, merci de nous la fournir.
Oui, désolé; je n'ai pas de code disponible pour le moment j'en suis à essayer de comprendre comment écrire le code. Fondamentalement, je suis en train d'écrire une application pour trouver l'enregistrement MX.
Pas de problème. Cela peut vous aider. tools.ietf.org/html/rfc1035
Merci pour le lien, je sais que je pourrais faire quelque chose comme faire un DGRAM envoyer et ensuite écouter sur DGRAM pour la réponse, mais ce serait une douleur que j'avais besoin de savoir le port de la source à écouter, mais semble comme il pourrait être le meilleur choix si résolveur(3) ne s'étende pas.
53 est par défaut pour le serveur DNS. Il pourrait être un autre, mais il va travailler pour la racine du DNS-servers.
Oui, désolé; je n'ai pas de code disponible pour le moment j'en suis à essayer de comprendre comment écrire le code. Fondamentalement, je suis en train d'écrire une application pour trouver l'enregistrement MX.
Pas de problème. Cela peut vous aider. tools.ietf.org/html/rfc1035
Merci pour le lien, je sais que je pourrais faire quelque chose comme faire un DGRAM envoyer et ensuite écouter sur DGRAM pour la réponse, mais ce serait une douleur que j'avais besoin de savoir le port de la source à écouter, mais semble comme il pourrait être le meilleur choix si résolveur(3) ne s'étende pas.
53 est par défaut pour le serveur DNS. Il pourrait être un autre, mais il va travailler pour la racine du DNS-servers.
OriginalL'auteur Suroot | 2009-07-07
Vous devez vous connecter pour publier un commentaire.
La méthode la plus simple est de simplement utiliser les outils les plus courants.
La base de "creuser" commande renvoie les enregistrements via cette requête:
Si vous voulez juste les lignes avec les enregistrements mx...
dig est disponible sur la plupart des unix /linux boîtes.
Si vous êtes sur windows, vous pouvez utiliser nslookup
Puis il suffit d'analyser le résultat de ces outils communs.
EDIT: Simple C exemple de prises à partir du web
Depuis que vous mettez "C" comme une balise, je suppose que vous êtes à la recherche pour le code source de MX recherches à l'aide des sockets raw. J'ai copié ce de http://www.developerweb.net/forum/showthread.php?t=3550. Il est peut-être plus de ce que vous recherchez?
Vous pouvez télécharger le code source ici: isc.org/downloadables/11
Merci, la je suis de vérifier le code que vous aviez posté un peu plus tôt, semble relativement proche et le plus important le résolveur(3) l'homme à la page semble assez utile.
J'ai été rétrocédés à la réponse que le code depuis que vous avez pensé qu'il était utile.
OriginalL'auteur Great Turtle
Je remarque que vous avez écrit pour Linux. Le idomatic voie pour un programme régulier d'envoyer du courrier sur les systèmes de type Unix est:
Deux façons de présumer que les locaux mailer est configuré pour transmettre le courrier à où il doit aller; sur un bien configuré sous Linux c'est une bonne hypothèse.
Si cela ne fait pas appel, la deuxième meilleure façon est de votre programme d'accepter l'adresse d'un local de relais de messagerie, serveur à utiliser, et il suffit de connecter à ce serveur sur le port 25.
En d'autres termes, dans la mesure du possible, utiliser un relais de messagerie pour envoyer votre courrier sur. Ces relais de messagerie aurez toutes les connaissances locales qui pourraient être nécessaires pour obtenir la poste de le réseau que vous utilisez simplement la recherche de la MX et essayer de l'envoyer directement à la destination n'est pas toujours d'aller travailler.
Si vous avez tout lu et que vous encore souhaitez rechercher des enregistrements MX, essayez de le adns bibliothèque, il prend soin de tous les détails fastidieux impliqués dans la résolution DNS (et croyez-moi, il est fastidieux, et il est facile de se tromper!).
OriginalL'auteur caf
sur linux:
OriginalL'auteur kierzo
[Disclaimer: je l'habitude d'être un heureux beta-testeur de SnertSoft de trucs, et je suis toujours en cours de plusieurs de leurs produits]
En train de faire cela à la main a ses pièges, par exemple, lorsque vous avez à gérer une réponse tronquée et la nécessité de passer de l'UDP TCP.
SnertSoft's
libsnert
(gratuit, click-through-licence obligatoire) dispose déjà d'un C mise en œuvre pour ce retour d'un vecteur d'entrées. Essayez d'éviter de "pas inventé ici" si possible 🙂Ne vous avez en effet réimplémenter MTA au lieu de l'aide de certains solution existante?
OriginalL'auteur ShiDoiSi
Prendre un coup d'oeil à ldns, de NLnet Labs. Cette bibliothèque gère faible niveau de traitement des paquets et dispose de son propre résolveur client intégré.
La documentation comprend exemple de code qui fait exactement ce dont vous avez besoin.
OriginalL'auteur Alnitak