Broadcast
Материал из Xgu.ru
Широковешательный трафик (broadcast) — это ...
[править] Вопросы и ответы
[править] Как проверить, что широковещательный трафик передаётся?
На одной машине запускаем netcat-сервер:
# server netcat -l -u -p 54321
На другой машине запускаем netcat-клиент, который передаёт
данные на широковещательный интерфейс:
# host echo "foo" | netcat -ub 192.168.1.255 54321
На первом адресе мы должны получить отправленные данные.
Если netcat'а нет, но есть, скажем, python, то проверить можно так:
Клиент:
import socket
UDP_IP = "192.168.1.255"
UDP_PORT = 5005
MESSAGE = "Hello, World!"
print "UDP target IP:", UDP_IP
print "UDP target port:", UDP_PORT
print "message:", MESSAGE
sock = socket.socket(socket.AF_INET, # Internet
socket.SOCK_DGRAM) # UDP
sock.bind(('', 0))
sock.setsockopt(socket.SOL_SOCKET, socket.SO_BROADCAST, 1)
sock.sendto(MESSAGE, (UDP_IP, UDP_PORT))
Сервер:
import socket
UDP_IP = "192.168.1.255"
UDP_PORT = 5005
sock = socket.socket(socket.AF_INET, # Internet
socket.SOCK_DGRAM) # UDP
sock.bind((UDP_IP, UDP_PORT))
while True:
data, addr = sock.recvfrom(1024) # buffer size is 1024 bytes
print "received message:", data