Вы можете извлечь его из struct sockaddr_in
(или sockaddr_in6
).
struct sockaddr_in {
sa_family_t sin_family; /* address family: AF_INET */
in_port_t sin_port; /* port in network byte order */
struct in_addr sin_addr; /* internet address */
};
/* Internet address. */
struct in_addr {
uint32_t s_addr; /* address in network byte order */
};
См. Справочную страницу: http://man7.org/linux/man-pages/man7/ip.7.html
Также, Вы можете увидеть мой код DNS-сервера в качестве практического примера (есть извлеченный адрес IPV6 sin6.sin6_addr
).