Ipv6 connect

Friday, Sep 3, 2021 | 1 minute read | Updated at Friday, Sep 3, 2021

@
Ipv6 connect

ipv6 connect

/*connect(7, {sa_family=AF_INET6, sin6_port=htons(80), inet_pton(AF_INET6,
     "fe80::21f:16ff:fe1a:f5b8", &sin6_addr), sin6_flowinfo=0, sin6_scope_id=0},28)*/

struct sockaddr_in6 sin6;
   . . .
sin6.sin6_family = AF_INET6;
sin6.sin6_flowinfo = 0;
sin6.sin6_port = htons(23);
sin6.sin6_addr = in6addr_loopback;  /* structure assignment */
   . . .
if (connect(s, (struct sockaddr *) &sin6, sizeof(sin6)) == -1)

获取网卡信息

struct ifreq ifr;
char *iface = "eth0";
unsigned char *mac;

fd = socket(AF_INET, SOCK_DGRAM, 0);

ifr.ifr_addr.sa_family = AF_INET;
strncpy(ifr.ifr_name , iface , IFNAMSIZ-1);

ioctl(fd, SIOCGIFHWADDR, &ifr);

if (AF_INET6 == remote_addrinfo->ai_family) {
  ((struct sockaddr_in6 *)remote_addrinfo->ai_addr)->sin6_scope_id = 2;
}
if_nametoindex

© 2016 - 2025 Caisong's Blog

🌱 Powered by Hugo with theme Dream.

About Me

大龄程序员,喜欢折腾各种环境部署、软件应用。

博客记录日常。