mirror of
https://github.com/ThunixdotNet/thunix_api.git
synced 2026-01-24 05:10:17 +00:00
Added ip_info endpoint
This commit is contained in:
@@ -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("}")
|
|
||||||
@@ -5,7 +5,7 @@ import flask
|
|||||||
|
|
||||||
from flask import Flask, request, jsonify
|
from flask import Flask, request, jsonify
|
||||||
|
|
||||||
import psutil, datetime, time
|
import psutil, datetime, time, socket
|
||||||
|
|
||||||
|
|
||||||
app = Flask(__name__)
|
app = Flask(__name__)
|
||||||
@@ -21,8 +21,32 @@ def home():
|
|||||||
# ip_info
|
# ip_info
|
||||||
@app.route("/ip_info")
|
@app.route("/ip_info")
|
||||||
def ip_info():
|
def ip_info():
|
||||||
#for nic, addrs in psutil.net_if_addrs().items():
|
def get_ip_addresses(family):
|
||||||
return "IP Info"
|
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()
|
app.run()
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user