2010-05-13 5 views

Répondre

0

Fondamentalement, ce que vous devez faire est de créer un socket brut, de recevoir un datagramme et d'examiner l'adresse de destination dans l'en-tête. Si cette adresse est une adresse de diffusion pour la carte réseau, le socket est lié à, alors vous êtes en or. Je ne sais pas comment faire cela en Python, donc je suggère de chercher des exemples de socket bruts et d'aller à partir de là. Gardez à l'esprit, vous aurez besoin d'un accès root pour utiliser des sockets raw, et vous feriez mieux d'être très prudent si vous envisagez d'envoyer en utilisant une socket raw. Comme vous pouvez l'imaginer, ce ne sera pas une chose amusante à faire. Je suggère d'essayer de trouver un moyen d'éviter cela.

+0

UDP est le protocole – sia

+0

non il n'y a pas de différence entre l'adresse que je peux détecter à partir d'une diffusion et un direct – sia

+0

Je ne comprends pas. Les messages de diffusion ne sont que des paquets qui sont envoyés à une adresse de diffusion pour un réseau particulier. Un paquet envoyé à 172.16.1.255 sera diffusé sur l'ensemble du réseau 172.16.1.0/24. Lorsque vous le recevez, l'adresse de destination dans l'en-tête IP aura cette adresse de diffusion. –

Questions connexes