cloud.insecurity.docker/cloud.insecurity.docker.network/IPRoute.cs
2021-10-08 09:04:23 -07:00

42 lines
1.1 KiB
C#

using System;
using System.Collections.Generic;
using System.Diagnostics;
using cloud.insecurity.docker.network.IPRoute;
using System.IO;
using Newtonsoft.Json;
namespace cloud.insecurity.docker.network
{
public static class IProute
{
public static IEnumerable<Addr> Addresses()
{
var data = Process
.Start(new ProcessStartInfo()
{
FileName = @"/sbin/ip",
Arguments = "-j",
RedirectStandardOutput = true
})?.StandardOutput.ReadToEnd();
var addresses = JsonConvert.DeserializeObject<IEnumerable<Addr>>(data);
if (addresses == null) throw new ArgumentNullException();
foreach (Addr address in addresses)
{
yield return address;
}
}
public static IEnumerable<Link> Links()
{
throw new NotImplementedException();
}
public static IEnumerable<Route> Routes()
{
throw new NotImplementedException();
}
}
}