{"id":27818,"date":"2022-12-26T21:21:05","date_gmt":"2022-12-26T15:51:05","guid":{"rendered":"https:\/\/jassweb.com\/solved\/solved-how-to-get-my-external-ip-primary-interface-without-internet-connection-without-eth0-and-without-any-hardcoded-constnts-using-c-closed\/"},"modified":"2022-12-26T21:21:05","modified_gmt":"2022-12-26T15:51:05","slug":"solved-how-to-get-my-external-ip-primary-interface-without-internet-connection-without-eth0-and-without-any-hardcoded-constnts-using-c-closed","status":"publish","type":"post","link":"https:\/\/jassweb.com\/solved\/solved-how-to-get-my-external-ip-primary-interface-without-internet-connection-without-eth0-and-without-any-hardcoded-constnts-using-c-closed\/","title":{"rendered":"[Solved] How to get my external ip (primary interface) without internet connection, without eth0 and without any hardcoded constnts using C [closed]"},"content":{"rendered":"<p> [ad_1]<br \/>\n<\/p>\n<div id=\"answer-45378333\" class=\"answer js-answer accepted-answer js-accepted-answer\" data-answerid=\"45378333\" data-parentid=\"45377937\" data-score=\"0\" data-position-on-page=\"1\" data-highest-scored=\"1\" data-question-has-accepted-highest-score=\"1\" itemprop=\"acceptedAnswer\" itemscope itemtype=\"https:\/\/schema.org\/Answer\">\n<div class=\"post-layout\">\n<div class=\"votecell post-layout--left\"><\/div>\n<div class=\"answercell post-layout--right\">\n<div class=\"s-prose js-post-body\" itemprop=\"text\">\n<p>If you just want to discover the default adapter&#8217;s assigned IP address, e.g. <code>192.168.0.237<\/code>, call <a rel=\"nofollow noopener\" target=\"_blank\" href=\"http:\/\/man7.org\/linux\/man-pages\/man3\/getifaddrs.3.html\">getifaddrs<\/a> and enumerate each address.  This is the same list of adapters that <code>ifconfig<\/code> would normally display with associated information for gateway and netmask.  Filter out the ones that are flagged as <code>IFF_LOOPBACK<\/code> or don&#8217;t have <code>IFF_UP<\/code>.  Some sample code <a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/github.com\/jselbie\/stunserver\/blob\/master\/networkutils\/adapters.cpp#L24\">here<\/a>.<\/p>\n<p>If you have more than one such address, then you need to check the route table and find the default route (the one with a target IP address of 0.0.0.0).<\/p>\n<pre><code>jselbie@ubuntu:~$ route -n\nKernel IP routing table\nDestination     Gateway         Genmask         Flags Metric Ref    Use Iface\n0.0.0.0         192.168.254.2   0.0.0.0         UG    100    0        0 ens33\n169.254.0.0     0.0.0.0         255.255.0.0     U     1000   0        0 ens33\n192.168.254.0   0.0.0.0         255.255.255.0   U     100    0        0 ens33\n<\/code><\/pre>\n<p>The first entry, the one with the destination route of <code>0.0.0.0<\/code>, is your default route and sends through the <code>ens33<\/code> adapter. If there was more than one default route, you would use the one with the lower <code>metric<\/code> field.  In my case, the interface of the 0.0.0.0 route is <code>ens33<\/code>. The IP address of <code>ens33<\/code> can be discovered through a call to <code>getifaddrs<\/code> as described above. (reference the <code>ifa_name<\/code> field in the enumerate list of ifaddrs.)<\/p>\n<p>As for programatically enumerating the routing table in C, I actually don&#8217;t remember how to do this. A quick internet search suggests you can get using a <a rel=\"nofollow noopener\" target=\"_blank\" href=\"http:\/\/www.linuxjournal.com\/article\/7356\">NETLINK<\/a> socket. I would consult that source code for the route command as well.<\/p>\n<\/p><\/div>\n<div class=\"mt24\"><\/div>\n<\/div>\n<p>            <span class=\"d-none\" itemprop=\"commentCount\">7<\/span> <\/p><\/div>\n<\/div>\n<p>[ad_2]<\/p>\n<p>solved How to get my external ip (primary interface) without internet connection, without eth0 and without any hardcoded constnts using C [closed] <\/p>\n","protected":false},"excerpt":{"rendered":"<p>[ad_1] If you just want to discover the default adapter&#8217;s assigned IP address, e.g. 192.168.0.237, call getifaddrs and enumerate each address. This is the same list of adapters that ifconfig would normally display with associated information for gateway and netmask. Filter out the ones that are flagged as IFF_LOOPBACK or don&#8217;t have IFF_UP. Some sample &#8230; <a title=\"[Solved] How to get my external ip (primary interface) without internet connection, without eth0 and without any hardcoded constnts using C [closed]\" class=\"read-more\" href=\"https:\/\/jassweb.com\/solved\/solved-how-to-get-my-external-ip-primary-interface-without-internet-connection-without-eth0-and-without-any-hardcoded-constnts-using-c-closed\/\" aria-label=\"More on [Solved] How to get my external ip (primary interface) without internet connection, without eth0 and without any hardcoded constnts using C [closed]\">Read more<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[320],"tags":[324,424,970],"class_list":["post-27818","post","type-post","status-publish","format-standard","hentry","category-solved","tag-c","tag-linux","tag-networking"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>[Solved] How to get my external ip (primary interface) without internet connection, without eth0 and without any hardcoded constnts using C [closed] - JassWeb<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/jassweb.com\/solved\/solved-how-to-get-my-external-ip-primary-interface-without-internet-connection-without-eth0-and-without-any-hardcoded-constnts-using-c-closed\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"[Solved] How to get my external ip (primary interface) without internet connection, without eth0 and without any hardcoded constnts using C [closed] - JassWeb\" \/>\n<meta property=\"og:description\" content=\"[ad_1] If you just want to discover the default adapter&#8217;s assigned IP address, e.g. 192.168.0.237, call getifaddrs and enumerate each address. This is the same list of adapters that ifconfig would normally display with associated information for gateway and netmask. Filter out the ones that are flagged as IFF_LOOPBACK or don&#8217;t have IFF_UP. Some sample ... Read more\" \/>\n<meta property=\"og:url\" content=\"https:\/\/jassweb.com\/solved\/solved-how-to-get-my-external-ip-primary-interface-without-internet-connection-without-eth0-and-without-any-hardcoded-constnts-using-c-closed\/\" \/>\n<meta property=\"og:site_name\" content=\"JassWeb\" \/>\n<meta property=\"article:published_time\" content=\"2022-12-26T15:51:05+00:00\" \/>\n<meta name=\"author\" content=\"Kirat\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Kirat\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/solved-how-to-get-my-external-ip-primary-interface-without-internet-connection-without-eth0-and-without-any-hardcoded-constnts-using-c-closed\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/solved-how-to-get-my-external-ip-primary-interface-without-internet-connection-without-eth0-and-without-any-hardcoded-constnts-using-c-closed\\\/\"},\"author\":{\"name\":\"Kirat\",\"@id\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/#\\\/schema\\\/person\\\/65c9c7b7958150c0dc8371fa35dd7c31\"},\"headline\":\"[Solved] How to get my external ip (primary interface) without internet connection, without eth0 and without any hardcoded constnts using C [closed]\",\"datePublished\":\"2022-12-26T15:51:05+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/solved-how-to-get-my-external-ip-primary-interface-without-internet-connection-without-eth0-and-without-any-hardcoded-constnts-using-c-closed\\\/\"},\"wordCount\":240,\"publisher\":{\"@id\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/#organization\"},\"keywords\":[\"c++\",\"linux\",\"networking\"],\"articleSection\":[\"Solved\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/solved-how-to-get-my-external-ip-primary-interface-without-internet-connection-without-eth0-and-without-any-hardcoded-constnts-using-c-closed\\\/\",\"url\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/solved-how-to-get-my-external-ip-primary-interface-without-internet-connection-without-eth0-and-without-any-hardcoded-constnts-using-c-closed\\\/\",\"name\":\"[Solved] How to get my external ip (primary interface) without internet connection, without eth0 and without any hardcoded constnts using C [closed] - JassWeb\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/#website\"},\"datePublished\":\"2022-12-26T15:51:05+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/solved-how-to-get-my-external-ip-primary-interface-without-internet-connection-without-eth0-and-without-any-hardcoded-constnts-using-c-closed\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/jassweb.com\\\/solved\\\/solved-how-to-get-my-external-ip-primary-interface-without-internet-connection-without-eth0-and-without-any-hardcoded-constnts-using-c-closed\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/solved-how-to-get-my-external-ip-primary-interface-without-internet-connection-without-eth0-and-without-any-hardcoded-constnts-using-c-closed\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"[Solved] How to get my external ip (primary interface) without internet connection, without eth0 and without any hardcoded constnts using C [closed]\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/#website\",\"url\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/\",\"name\":\"JassWeb\",\"description\":\"Build High-quality Websites\",\"publisher\":{\"@id\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/#organization\",\"name\":\"Jass Web\",\"url\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/jassweb.com\\\/wp-content\\\/uploads\\\/2021\\\/02\\\/jass-website-logo-1.png\",\"contentUrl\":\"https:\\\/\\\/jassweb.com\\\/wp-content\\\/uploads\\\/2021\\\/02\\\/jass-website-logo-1.png\",\"width\":693,\"height\":132,\"caption\":\"Jass Web\"},\"image\":{\"@id\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/#\\\/schema\\\/logo\\\/image\\\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/#\\\/schema\\\/person\\\/65c9c7b7958150c0dc8371fa35dd7c31\",\"name\":\"Kirat\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/wp-content\\\/litespeed\\\/avatar\\\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1777613206\",\"url\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/wp-content\\\/litespeed\\\/avatar\\\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1777613206\",\"contentUrl\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/wp-content\\\/litespeed\\\/avatar\\\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1777613206\",\"caption\":\"Kirat\"},\"sameAs\":[\"http:\\\/\\\/jassweb.com\"],\"url\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/author\\\/jaspritsinghghumangmail-com\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"[Solved] How to get my external ip (primary interface) without internet connection, without eth0 and without any hardcoded constnts using C [closed] - JassWeb","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/jassweb.com\/solved\/solved-how-to-get-my-external-ip-primary-interface-without-internet-connection-without-eth0-and-without-any-hardcoded-constnts-using-c-closed\/","og_locale":"en_US","og_type":"article","og_title":"[Solved] How to get my external ip (primary interface) without internet connection, without eth0 and without any hardcoded constnts using C [closed] - JassWeb","og_description":"[ad_1] If you just want to discover the default adapter&#8217;s assigned IP address, e.g. 192.168.0.237, call getifaddrs and enumerate each address. This is the same list of adapters that ifconfig would normally display with associated information for gateway and netmask. Filter out the ones that are flagged as IFF_LOOPBACK or don&#8217;t have IFF_UP. Some sample ... Read more","og_url":"https:\/\/jassweb.com\/solved\/solved-how-to-get-my-external-ip-primary-interface-without-internet-connection-without-eth0-and-without-any-hardcoded-constnts-using-c-closed\/","og_site_name":"JassWeb","article_published_time":"2022-12-26T15:51:05+00:00","author":"Kirat","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Kirat","Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/jassweb.com\/solved\/solved-how-to-get-my-external-ip-primary-interface-without-internet-connection-without-eth0-and-without-any-hardcoded-constnts-using-c-closed\/#article","isPartOf":{"@id":"https:\/\/jassweb.com\/solved\/solved-how-to-get-my-external-ip-primary-interface-without-internet-connection-without-eth0-and-without-any-hardcoded-constnts-using-c-closed\/"},"author":{"name":"Kirat","@id":"https:\/\/jassweb.com\/solved\/#\/schema\/person\/65c9c7b7958150c0dc8371fa35dd7c31"},"headline":"[Solved] How to get my external ip (primary interface) without internet connection, without eth0 and without any hardcoded constnts using C [closed]","datePublished":"2022-12-26T15:51:05+00:00","mainEntityOfPage":{"@id":"https:\/\/jassweb.com\/solved\/solved-how-to-get-my-external-ip-primary-interface-without-internet-connection-without-eth0-and-without-any-hardcoded-constnts-using-c-closed\/"},"wordCount":240,"publisher":{"@id":"https:\/\/jassweb.com\/solved\/#organization"},"keywords":["c++","linux","networking"],"articleSection":["Solved"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/jassweb.com\/solved\/solved-how-to-get-my-external-ip-primary-interface-without-internet-connection-without-eth0-and-without-any-hardcoded-constnts-using-c-closed\/","url":"https:\/\/jassweb.com\/solved\/solved-how-to-get-my-external-ip-primary-interface-without-internet-connection-without-eth0-and-without-any-hardcoded-constnts-using-c-closed\/","name":"[Solved] How to get my external ip (primary interface) without internet connection, without eth0 and without any hardcoded constnts using C [closed] - JassWeb","isPartOf":{"@id":"https:\/\/jassweb.com\/solved\/#website"},"datePublished":"2022-12-26T15:51:05+00:00","breadcrumb":{"@id":"https:\/\/jassweb.com\/solved\/solved-how-to-get-my-external-ip-primary-interface-without-internet-connection-without-eth0-and-without-any-hardcoded-constnts-using-c-closed\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/jassweb.com\/solved\/solved-how-to-get-my-external-ip-primary-interface-without-internet-connection-without-eth0-and-without-any-hardcoded-constnts-using-c-closed\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/jassweb.com\/solved\/solved-how-to-get-my-external-ip-primary-interface-without-internet-connection-without-eth0-and-without-any-hardcoded-constnts-using-c-closed\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/jassweb.com\/solved\/"},{"@type":"ListItem","position":2,"name":"[Solved] How to get my external ip (primary interface) without internet connection, without eth0 and without any hardcoded constnts using C [closed]"}]},{"@type":"WebSite","@id":"https:\/\/jassweb.com\/solved\/#website","url":"https:\/\/jassweb.com\/solved\/","name":"JassWeb","description":"Build High-quality Websites","publisher":{"@id":"https:\/\/jassweb.com\/solved\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/jassweb.com\/solved\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/jassweb.com\/solved\/#organization","name":"Jass Web","url":"https:\/\/jassweb.com\/solved\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/jassweb.com\/solved\/#\/schema\/logo\/image\/","url":"https:\/\/jassweb.com\/wp-content\/uploads\/2021\/02\/jass-website-logo-1.png","contentUrl":"https:\/\/jassweb.com\/wp-content\/uploads\/2021\/02\/jass-website-logo-1.png","width":693,"height":132,"caption":"Jass Web"},"image":{"@id":"https:\/\/jassweb.com\/solved\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/jassweb.com\/solved\/#\/schema\/person\/65c9c7b7958150c0dc8371fa35dd7c31","name":"Kirat","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/jassweb.com\/solved\/wp-content\/litespeed\/avatar\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1777613206","url":"https:\/\/jassweb.com\/solved\/wp-content\/litespeed\/avatar\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1777613206","contentUrl":"https:\/\/jassweb.com\/solved\/wp-content\/litespeed\/avatar\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1777613206","caption":"Kirat"},"sameAs":["http:\/\/jassweb.com"],"url":"https:\/\/jassweb.com\/solved\/author\/jaspritsinghghumangmail-com\/"}]}},"_links":{"self":[{"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/posts\/27818","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/comments?post=27818"}],"version-history":[{"count":0,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/posts\/27818\/revisions"}],"wp:attachment":[{"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/media?parent=27818"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/categories?post=27818"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/tags?post=27818"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}