2013-12-11 1 views
0

Я не могу получить небольшое тестовое приложение для отправки многоадресного пакета UDP на конкретном компьютере под управлением Windows Server 2003. У меня есть настройка для отправки пакет для публичного DNS Google, а другой - 239.192.250.250. Он отлично работает, не набрасывая никаких ошибок. Но в выпуске Wireshark появляется только пакет Google. Есть идеи?Приложение на консоли C# не отправляет пакет многоадресной рассылки UDP на Windows Server 2003

static void Main(string[] args) 
{ 
    var socket = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp); 
    var data = ASCIIEncoding.UTF8.GetBytes("hello world"); 
    socket.SendTo(data, new IPEndPoint(IPAddress.Parse("8.8.8.8"), 80)); 
    socket.SendTo(data, new IPEndPoint(IPAddress.Parse("239.192.250.250"), 80)); 
    Console.ReadKey(); 
} 

А вот выход Wireshark:

No. Time  Source  Destination  Protocol Length Info 
205 1.83925300 ********** 8.8.8.8   UDP  53  Source port: 62432 Destination port: http 

На любой другой машине я опробованный включая сервер Windows 2008 R2, я получаю что-то эффект:

No. Time  Source  Destination  Protocol Length Info 
58 4.52926800 ********** 8.8.8.8   UDP  53  Source port: 56530 Destination port: http 
60 4.52940400 ********** 239.192.250.250 UDP  53  Source port: 56530 Destination port: http 
+0

Подключен ли сервер Windows 2003 и 2008 к маршрутизатору того же типа? Потому что, если вы используете маршрутизатор коммутатора, проводная акула не может видеть все пакеты с другого компьютера. –

+0

Серверы Windows 2003 и 2008 фактически были в совершенно разных сетях. 2008 год был облачным сервером Rackspace, а 2003 год был внутренним сервером клиента. Я поднял его, потому что хотел отказаться от идеи, что это может быть ограничение Windows Server в целом. Тест также был выполнен в окне Window 7 в той же сети клиента, и он работал нормально. Насколько я знаю, у меня просто проблема на его сервере. –

+0

Когда я разместил трафик wirehark, я предположил, что вижу выходной трафик. Предполагая, что это так, возможно ли вмешательство маршрутизатора? Разве проводка не будет сидеть между маршрутизатором и сетевым интерфейсом? Независимо от настройки сети, я все равно думаю, что должен видеть исходящий трафик на оба IP-адреса. –

ответ

1

Если вы находитесь на Network switch, они отправляют маршрут только к соединению конечного компьютера. В то время как неперемещенный хаб передаёт пакеты всем портам.

Wireshark выполняет пакетное обнюхивание, поэтому он не может видеть все пакеты на коммутируемом маршрутизаторе.

Вот отрывок из Switch Reference @ Wireshark:

Как отмечалось в Wireshark FAQ, захватив в коммутируемой сетевой среде может оказаться сложной задачей. Отдельный порт коммутатора будет получать широковещательный, многоадресный и одноадресный трафик, предназначенные для этого конкретного порта. В большинстве случаев он не получит одноадресный трафик для других портов, что вы, вероятно, пытаетесь захватить.