From owner-freebsd-net@freebsd.org Wed Mar 6 08:53:08 2019 Return-Path: Delivered-To: freebsd-net@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 7F6001508DAE for ; Wed, 6 Mar 2019 08:53:08 +0000 (UTC) (envelope-from eugen@grosbein.net) Received: from hz.grosbein.net (hz.grosbein.net [IPv6:2a01:4f8:d12:604::2]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "hz.grosbein.net", Issuer "hz.grosbein.net" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id AD1778375D for ; Wed, 6 Mar 2019 08:52:57 +0000 (UTC) (envelope-from eugen@grosbein.net) Received: from eg.sd.rdtc.ru (eg.sd.rdtc.ru [IPv6:2a03:3100:c:13:0:0:0:5]) by hz.grosbein.net (8.15.2/8.15.2) with ESMTPS id x268qlrW012135 (version=TLSv1.2 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 6 Mar 2019 09:52:49 +0100 (CET) (envelope-from eugen@grosbein.net) X-Envelope-From: eugen@grosbein.net X-Envelope-To: meka@tilda.center Received: from [10.58.0.4] ([10.58.0.4]) by eg.sd.rdtc.ru (8.15.2/8.15.2) with ESMTPS id x268qkHi014913 (version=TLSv1.2 cipher=DHE-RSA-AES128-SHA bits=128 verify=NOT); Wed, 6 Mar 2019 15:52:46 +0700 (+07) (envelope-from eugen@grosbein.net) Subject: Re: UDP broadcast To: =?UTF-8?Q?Goran_Meki=c4=87?= , freebsd-net@freebsd.org References: <20190305224610.frw5ov5bn6f3xaqg@hal9000.home.meka.rs> From: Eugene Grosbein Message-ID: <149e7a2f-6297-3478-e8c0-64baeeb02d8b@grosbein.net> Date: Wed, 6 Mar 2019 15:52:31 +0700 User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64; rv:45.0) Gecko/20100101 Thunderbird/45.8.0 MIME-Version: 1.0 In-Reply-To: <20190305224610.frw5ov5bn6f3xaqg@hal9000.home.meka.rs> Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=0.3 required=5.0 tests=BAYES_00,LOCAL_FROM,SPF_PASS autolearn=no autolearn_force=no version=3.4.2 X-Spam-Report: * -2.3 BAYES_00 BODY: Bayes spam probability is 0 to 1% * [score: 0.0000] * -0.0 SPF_PASS SPF: sender matches SPF record * 2.6 LOCAL_FROM From my domains X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on hz.grosbein.net X-Rspamd-Queue-Id: AD1778375D X-Spamd-Bar: --- Authentication-Results: mx1.freebsd.org; spf=permerror (mx1.freebsd.org: domain of eugen@grosbein.net uses mechanism not recognized by this client) smtp.mailfrom=eugen@grosbein.net X-Spamd-Result: default: False [-3.53 / 15.00]; ARC_NA(0.00)[]; NEURAL_HAM_MEDIUM(-1.00)[-1.000,0]; MX_INVALID(0.50)[greylisted]; FROM_HAS_DN(0.00)[]; TO_DN_SOME(0.00)[]; NEURAL_HAM_LONG(-1.00)[-1.000,0]; MIME_GOOD(-0.10)[text/plain]; DMARC_NA(0.00)[grosbein.net]; RCVD_COUNT_THREE(0.00)[3]; TO_MATCH_ENVRCPT_SOME(0.00)[]; R_SPF_PERMFAIL(0.00)[]; RCPT_COUNT_TWO(0.00)[2]; NEURAL_HAM_SHORT(-0.63)[-0.629,0]; IP_SCORE(-1.30)[ip: (-1.81), ipnet: 2a01:4f8::/29(-2.45), asn: 24940(-2.24), country: DE(-0.01)]; FROM_EQ_ENVFROM(0.00)[]; R_DKIM_NA(0.00)[]; MIME_TRACE(0.00)[0:+]; ASN(0.00)[asn:24940, ipnet:2a01:4f8::/29, country:DE]; MID_RHS_MATCH_FROM(0.00)[]; RCVD_TLS_ALL(0.00)[] X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 06 Mar 2019 08:53:08 -0000 06.03.2019 5:46, Goran Mekić wrote: > I have a audio mixer which is controleable over network via android app. > The discovery is done by sending broadcast UDP message "/info\0\0\0" to > 255.255.255.255 (checked by tcpdump on the router). I thought I can do > the same with: > > printf "/info\0\0\0" | nc -4u -w 0 255.255.255.255 10024 > > But I never get the reply. This is what tcpdump sees: > > tcpdump -nnSX -v 'src 192.168.5.80 or dst 255.255.255.255' > tcpdump: listening on re0, link-type EN10MB (Ethernet), capture size > 262144 bytes > 23:41:25.595663 IP (tos 0x0, ttl 64, id 28810, offset 0, flags [none], > proto UDP (17), length 36, bad cksum 0 (->4439)!) As shown, nc generates UDP datagramm without (optional) checksum. > 192.168.5.94.36465 > 255.255.255.255.10024: UDP, length 8 > 0x0000: 4500 0024 708a 0000 4011 0000 c0a8 055e E..$p...@......^ > 0x0010: f fff ffff 8e71 2728 0010 c627 2f69 6e66 .....q'(...'/inf > 0x0020: 6f00 0000 o... > > I never get any reply, but when I try the same with the android app while sniffing on the router: > > > tcpdump -nnSX -v -i bridge0 'dst 255.255.255.255 or src 192.168.5.80' > tcpdump: listening on bridge0, link-type EN10MB (Ethernet), capture size 262144 bytes > 23:43:52.165821 IP (tos 0x0, ttl 64, id 20743, offset 0, flags [DF], proto UDP (17), length 36) > 192.168.5.79.57477 > 255.255.255.255.10024: UDP, length 8 Here tcpdump dump does not complain on missing checksum. This means Android sends checksummed datagramms. Perhaps, receiver discards datagramms without checksum. > So what am I doing wrong and how can I send UDP broadcast from either script of C code? Thank you! You should try ncat from security/nmap instead of nc.