From 2c0fed231a74ef027ba629f9dd18572f4ed6cd33 Mon Sep 17 00:00:00 2001 From: Neesergparajuli <neesergparajuli@this.com> Date: Sat, 14 Apr 2018 17:49:19 +1000 Subject: [PATCH] Set it up so it displays IP, credit to beej's guide http://beej.us/guide/bgnet/ --- server | Bin 0 -> 9032 bytes server.c | 58 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 58 insertions(+) create mode 100755 server create mode 100644 server.c diff --git a/server b/server new file mode 100755 index 0000000000000000000000000000000000000000..a588ded5d9cb376ad0abcfd88481af73387f827b GIT binary patch literal 9032 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 Cj-n9& literal 0 HcmV?d00001 diff --git a/server.c b/server.c new file mode 100644 index 0000000..7a00d33 --- /dev/null +++ b/server.c @@ -0,0 +1,58 @@ +#include <stdio.h> +#include <stdlib.h> +#include <string.h> +#include <sys/types.h> +#include <sys/socket.h> +#include <arpa/inet.h> +#include <netdb.h> +#include <netinet/in.h> +#include <unistd.h> + +int main(int argc, char *argv[]){ + struct addrinfo info, *res, *p; + int status; + char ipstr[INET6_ADDRSTRLEN]; + + if (argc <2){ + fprintf(stderr,"ERROR, no port provided\n");//to check if there is no port provided at start + exit(1); + } + + memset(&info, 0, sizeof(info)); + info.ai_family = AF_UNSPEC; ///sets it to IPv4 + info.ai_socktype = SOCK_STREAM; //TCP connection stream oriented + info.ai_flags = AI_PASSIVE; //use my current IP adress + + if((status = getaddrinfo(NULL, argv[1], &info, &res) != 0)){ + fprintf(stderr,"ERROR, no port provided\n");//to check if getaddrinfo gets any addrinfos + exit(1); + } + + for (p = res; p!= NULL; p = p->ai_next) + { + void *addr; + char *ipver; + + + if (p->ai_family == AF_INET) { // IPv4 + struct sockaddr_in *ipv4 = (struct sockaddr_in *)p->ai_addr; + addr = &(ipv4->sin_addr); + ipver = "IPv4"; + } else { // IPv6 + struct sockaddr_in6 *ipv6 = (struct sockaddr_in6 *)p->ai_addr; + addr = &(ipv6->sin6_addr); + ipver = "IPv6"; + } + + inet_ntop(p->ai_family, addr, ipstr, sizeof ipstr); + printf(" %s: %s\n", ipver, ipstr); + } + + + freeaddrinfo(res); + + return 0; + + + +} \ No newline at end of file -- GitLab