/
diev
/
CodeCowboyOrg-Ip4RouteTable
Обзор
Документация
Войти
/
diev
/
CodeCowboyOrg-Ip4RouteTable
Код
Запросы
0
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
CodeCowboy.NeworkRoute.Main/Program.cs
56 строк
2 KB
CodeCowboyOrg
Separated out the main network routing dll with the console app used for testing
15 сен 2019, 19:39
15 сен 2019, 19:39
16597be
Код
Авторство
О чём код?
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using CodeCowboy.NetworkRoute; namespace CodeCowboy.NeworkRoute.Main { class Program { static void Main(string[] args) { try { //Get Parameter int interfaceIndex = 0; if (args.Count() > 0) interfaceIndex = Int32.Parse(args[0]); //Print all the Network adaptors NicInterface.PrintAllNetworkInterface(); //Print the Routing Table Ip4RouteTable.RoutePrint(); if (!Ip4RouteTable.InterfaceIndexExists(interfaceIndex)) { Console.WriteLine("InterfaceIndex '{0}' does not exists.", interfaceIndex); return; } //Determine if the Route Table has multiple 1.1.1.1 routes, indicating a VPN is active if (!Ip4RouteTable.RouteExists("1.1.1.1")) return; //Demostrate Deleting routes and Adding routes Ip4RouteEntry routeEntry = Ip4RouteTable.GetRouteEntry("1.1.1.1").First(); //NetworkAdaptor na = NicInterface.GetNetworkAdaptor(interfaceIndex); if (routeEntry != null && routeEntry.GatewayIP.ToString().Length > 0) { Console.WriteLine("Deleting VPN existing routes."); Ip4RouteTable.DeleteRoute(interfaceIndex); Ip4RouteTable.DeleteRoute("202.0.0.0"); Console.WriteLine("Adding VPN new route."); Ip4RouteTable.CreateRoute("202.0.0.0", "255.0.0.0", interfaceIndex, 100); } } catch (Exception ex) { Console.WriteLine(ex.Message); Console.WriteLine(ex.StackTrace.ToString()); throw; } } } }