J'exploite quelques démons de serveur qui utilisent udp pour communiquer avec un grand nombre de clients. Comment puis-je trouver et répertorier toutes les "connexions" udp actives qui parlent aux serveurs afin d'estimer le nombre de clients actifs connectés aux démons du serveur? Je ne pouvais pas penser à un moyen facile de le faire à part renifler les paquets avec tshark ou tcpdump et regarder l'IP source des paquets udp allant aux démons du serveur et oui, je sais que UDP est un protocole sans connexion et sans état.
9
sudo lsof -iUDP
Réponses:
UDP est un protocole sans état - donc, aucun État.
Pour voir ce qui écoute UDP:
la source
Vous pouvez enregistrer chaque connexion UDP à l'aide d'iptables:
Vous voudrez peut-être le limiter à certains ports. Consultez la documentation ici ou, de préférence,
man iptables
.la source
Sous Linux, en supposant que l'iproute2 est installé, vous pouvez exécuter la commande ss pour extraire les sockets udp comme suit:
Ou toutes les sockets udp, avec le processus associé:
Voici des exemples supplémentaires que vous pouvez utiliser avec ss, notamment obtenir des connexions par processus.
http://www.cyberciti.biz/files/ss.html
la source
ss
affiche uniquement les sockets UDP et non la connexion .ss -pa
etss -upa
dans l'exemple? La moitié devrait-elle être supprimée?Comme d'autres l'ont mentionné, UDP est sans connexion, donc l'état n'est pas suivi dans les emplacements standard que vous pourriez consulter.
Une méthode que vous pouvez utiliser consiste simplement à configurer des règles de filtrage réseau simples qui utilisent l'
--state
option. Cela forcera netfilter à suivre l'état lié à UDP. Une fois que vous avez configuré les règles, vous pouvez utiliser un outil comme conntrack pour consulter la table des états de netfilter. Voici par exemple à quoi ressemble un de mes systèmes. Vous pouvez voir qu'il existe quelques systèmes qui communiquent fréquemment avec udp / 1194 (OpenVPN).Vos règles de netfilter pourraient être aussi simples que cela.
la source
inspiré par cette réponse , j'ai trouvé que la
ss
syntaxe suivante fonctionne pour moi:… Parce que les sockets UDP «en écoute» sont comme des sockets TCP «fermées».
la source