From 7dd119e36cb42da2e2d3eaf04ba01635ed861ce9 Mon Sep 17 00:00:00 2001 From: Ubergeek Date: Fri, 24 Jan 2020 21:17:43 -0500 Subject: [PATCH] Added ip_info endpoint --- interfaces.py | 31 ------------------------------- thunix_api.py | 30 +++++++++++++++++++++++++++--- 2 files changed, 27 insertions(+), 34 deletions(-) delete mode 100755 interfaces.py diff --git a/interfaces.py b/interfaces.py deleted file mode 100755 index 3463040..0000000 --- a/interfaces.py +++ /dev/null @@ -1,31 +0,0 @@ -import psutil, socket, json - -payload = [] - -def get_ip_addresses(family): - for interface, snics in psutil.net_if_addrs().items(): - for snic in snics: - if snic.family == family: - yield (interface, snic.address, snic.netmask) - -ipv4s = list(get_ip_addresses(socket.AF_INET)) - -#print (json.dumps(ipv4s)) -print("{\n\t\"Interfaces\":[") - -i = 0 -for i in range(len(ipv4s)) : - print ("\t\t{") - print ("\t\t\t\"Interface\":" + "\"" + ipv4s[i][0] + "\",") - print ("\t\t\t\"Address\":" + "\"" + ipv4s[i][1] + "\"," ) - print ("\t\t\t\"Netmask\":" + "\"" + ipv4s[i][2] + "\"" ) - print ("\t\t}",end="") - i += 1 - if ( i < len(ipv4s) ) : - print(",") - else: - print("\n") - - -print("\t]") -print("}") diff --git a/thunix_api.py b/thunix_api.py index 766ac3b..ffb20f0 100644 --- a/thunix_api.py +++ b/thunix_api.py @@ -5,7 +5,7 @@ import flask from flask import Flask, request, jsonify -import psutil, datetime, time +import psutil, datetime, time, socket app = Flask(__name__) @@ -21,8 +21,32 @@ def home(): # ip_info @app.route("/ip_info") def ip_info(): - #for nic, addrs in psutil.net_if_addrs().items(): - return "IP Info" + def get_ip_addresses(family): + for interface, snics in psutil.net_if_addrs().items(): + for snic in snics: + if snic.family == family: + yield (interface, snic.address, snic.netmask) + + ipv4s = list(get_ip_addresses(socket.AF_INET)) + + + json_payload = "{\n\t\"Interfaces\":[\n" + i = 0 + for i in range(len(ipv4s)) : + json_payload = json_payload + "\t\t{\n" + json_payload = json_payload + "\t\t\t\"Interface\":" + "\"" + ipv4s[i][0] + "\",\n" + json_payload = json_payload + "\t\t\t\"Address\":" + "\"" + ipv4s[i][1] + "\",\n" + json_payload = json_payload + "\t\t\t\"Netmask\":" + "\"" + ipv4s[i][2] + "\"\n" + json_payload = json_payload + "\t\t}" + i = i + 1 + if (i < len(ipv4s)) : + json_payload = json_payload + ",\n" + else: + json_payload = json_payload + "\n" + json_payload = json_payload + "\t]\n" + json_payload = json_payload + "}\n" + + return json_payload app.run()