Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

I'm writing a service using UDP, but I can't manage to reply to the client.

When sending to the client via the DHCP-assigned IP (192.168.1.143) Wireshark shows no sent packets. The server receives and Wireshark shows any packet sent by the client (broadcasted).

If I send to a random, unassigned IP Wireshark doesn't show it. I thought the NIC would happily send it, since there is a router in the way - shouldn't Wireshark show it, even though it cannot possibly be received by a remote endpoint?

If I send to either the router IP or another (specific, there is only one other) computer, the packet is shown in Wireshark.

I am running Windows 7, the firewall is turned off using the control panel.

Does the fact that wireshark doesn't show these packets mean that they aren't sent? What reason could there be for showing packets to one IP, but not another, on the same subnet?

share|improve this question
    
When you say "there is a router in the way", you mean that the destination IP address is not inside the sending machine's subnet? –  David Schwartz Dec 17 '12 at 8:13
    
No, all devices are in the same subnet, 192.168.1.x, but the router does DHCP for all devices. –  Max Dec 17 '12 at 12:07

1 Answer 1

The NIC cannot happily send a packet to an unassigned IP address in the same subnet, since it would have no idea what hardware address to send it to. Since the address is in the same subnet, the router is not in the way. Routers route between subnets.

Update 1: I see you're thinking that the machine is "wired directly to the router", but this is confusing terminology. Your "router" has a built-in switch in addition to a router. This machine is in fact connected to the router's switch, as is the actual part of the router that routes.

Update 2: It seems wired devices cannot communicate with wireless devices on your LAN at all, since wired devices are not getting ARP replies from wireless devices. The next step in troubleshooting is to make sure wired and wireless machines are connected to the same router and that you don't have some other device in-between them.

share|improve this answer
    
But there is only a wired connection to the router? So the local NIC on my host computer would send the packet to the router, which would drop it, but it would still be sent from my local computer? Am I completely wrong? The issue is though that I can send to one existing device (Windows 7 PC using a wired connection) and not another (Android 4.1 device using wireless). The packets don't arrive and wireshark shows no outbound packets. –  Max Dec 17 '12 at 12:21
    
You're completely wrong. Whatever argument you're using to conclude that you should send the traffic to something other than the machine directly would equally well apply to packets you were trying to send to the router. And clearly those are sent directly. (Both the router and this other machine are devices whose IP address are inside this machine's subnet, and thus should be sent directly. That's what the subnet mask is for -- to tell a machine which addresses it can reach directly.) –  David Schwartz Dec 17 '12 at 12:24
    
Well, I'm addressing it directly to the devices (192.168.1.2 and 192.168.1.143, respectively). One of them shows outbound packets in Wireshark, the other does not. Both devices actually exist, but one is wireless and the other is wired. The silly thing with sending to no endpoint (say 192.168.1.50) was just because I thought Wireshark would show me the outbound packet (addressed to 192.168.1.50) but sent through the router. But that might be completely stupid :p –  Max Dec 17 '12 at 12:31
    
Okay, not sending packets to a local IP that does not exist is expected, there's no way to know what hardware address to send them to, so they can't be put on the wire. So is your actual issue packets not being sent wireless machines? Presumably, it's for the same reason -- the machine is not getting the wireless machine's hardware address. You can check by running arp -a from a command prompt (after trying to send). –  David Schwartz Dec 17 '12 at 12:34
    
I'm using python sockets, and sendto is returning the amount of bytes sent, which is 20. It does tell me that whichever address I send to though. arp -a indeed doesn't show the 192.168.1.143 address, but I know it is connected by DHCP (I can receive packets from it). Do you know what could cause this? –  Max Dec 17 '12 at 12:46

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.