Using the dummy0 interface for a local-only service to be broadcasted by Avahi

Till Kamppeter till.kamppeter at gmail.com
Thu Dec 29 19:16:27 UTC 2016


On 12/29/2016 04:53 PM, Stéphane Graber wrote:
> On Thu, Dec 29, 2016 at 04:38:05PM -0200, Till Kamppeter wrote:
>> Thank you. I want to bind with the bind(2) function in C. How do I supply
>> the interface here or what function do I need to call instead?
>>
>>    Till
>
> #include <arpa/inet.h>
> #include <net/if.h>
>
> int main(int argc, char *argv[])
> {
>    int s;
>    struct sockaddr_in6 ip6;
>
>    // Basic inet6 socket
>    s = socket(AF_INET6, SOCK_DGRAM, 0);
>
>    // Initialize the ip6 struct
>    ip6.sin6_family=AF_INET6;
>    ip6.sin6_addr=in6addr_any;
>    ip6.sin6_port=htons(1234);
>    ip6.sin6_scope_id=if_nametoindex("ippusbxd");
>    inet_pton(AF_INET6, "fe80::3004:2dff:feb6:b5c7", (void *)&ip6.sin6_addr.s6_addr);
>
>    // Bind
>    bind(s, (struct sockaddr *)&ip6, sizeof(struct sockaddr_in6));
> }
>
>

This works now (had to add the 
"ip6.sin6_scope_id=if_nametoindex("ippusbxd");"). So ippusbxd is running 
now mirroring the printer onto fe80::e828:7eff:fe19:9962, port 60000 on 
the ippusbxd interface.

This would especially mean that I can access the printer's web admin 
interface by pointing a browser to this address so I try the simple 
command line browser wget:

----------
till at till-x1carbon:~$ wget 
http://[fe80::e828:7eff:fe19:9962%ippusbxd]:60000/

http://[fe80::e828:7eff:fe19:9962%ippusbxd]:60000/: Invalid IPv6 numeric 
address.

till at till-x1carbon:~$ wget http://[fe80::e828:7eff:fe19:9962]:60000/

--2016-12-29 17:07:43--  http://[fe80::e828:7eff:fe19:9962]:60000/
Connecting to [fe80::e828:7eff:fe19:9962]:60000... failed: Invalid argument.

till at till-x1carbon:~$ wget 
http://[fe80::e828:7eff:fe19:9962]%ippusbxd:60000/

http://[fe80::e828:7eff:fe19:9962]%ippusbxd:60000/: Invalid host name.

till at till-x1carbon:~$ wget 
http://[fe80::e828:7eff:fe19:9962]:60000%ippusbxd/

http://[fe80::e828:7eff:fe19:9962]:60000%ippusbxd/: Bad port number.

till at till-x1carbon:~$ wget http://fe80::e828:7eff:fe19:9962:60000/

http://fe80::e828:7eff:fe19:9962:60000/: Bad port number.

till at till-x1carbon:~$ wget http://fe80::e828:7eff:fe19:9962%ippusbxd:60000/

http://fe80::e828:7eff:fe19:9962%ippusbxd:60000/: Bad port number.

till at till-x1carbon:~$
----------

    Till






More information about the ubuntu-devel mailing list