Beispiel #1
0
        public AssetScanModule()
        {
            Get["/scan"] = x => {
                var settings = new NetscanConfiguration();
                var set      = settings.Get();
                var values   = set.Values.Where(_ => !string.IsNullOrEmpty(_.Label))
                               .Select(_ => new ScanModel {
                    Name   = _.Label,
                    Subnet = set.Subnet + _.Number + ".0"
                })
                               .ToList();
                var model = new PageAssetScanModel {
                    Subnets = values
                };
                return(JsonConvert.SerializeObject(model));
            };

            Get["/scan/{subnet}"] = x => {
                string subnet = x.subnet;
                if (string.IsNullOrEmpty(subnet))
                {
                    return(HttpStatusCode.BadRequest);
                }
                var launcher = new CommandLauncher();
                var result   = launcher.Launch("nmap-ip-sp", new Dictionary <string, string> {
                    { "$subnet", subnet + "/24" }
                }).Skip(1).Reverse().Skip(1).Reverse();
                return(Response.AsJson(result.OrderBy(_ => _)));
            };
        }
Beispiel #2
0
        public AssetSettingModule()
        {
            Get["/assetsetting"] = x => {
                var settings = new NetscanConfiguration();
                var set      = settings.Get();
                var model    = new PageAssetSettingModel {
                    SettingsSubnet      = set.Subnet,
                    SettingsSubnetLabel = set.SubnetLabel,
                    Settings            = set.Values
                };
                return(JsonConvert.SerializeObject(model));
            };

            Post["/netscan/setsubnet"] = x => {
                string subnet = Request.Form.Subnet;
                string label  = Request.Form.Label;
                if (string.IsNullOrEmpty(subnet) || string.IsNullOrEmpty(label))
                {
                    return(HttpStatusCode.BadRequest);
                }
                var settings = new NetscanConfiguration();
                settings.SetSubnet(subnet, label);
                settings.SaveEtcNetworks();
                return(HttpStatusCode.OK);
            };

            Post["/netscan/setlabel"] = x => {
                string letter = Request.Form.Letter;
                string number = Request.Form.Number;
                string label  = Request.Form.Label;
                if (string.IsNullOrEmpty(letter) || string.IsNullOrEmpty(number) || string.IsNullOrEmpty(label))
                {
                    return(HttpStatusCode.BadRequest);
                }
                var settings = new NetscanConfiguration();
                settings.SetLabel(letter, number, label);
                return(HttpStatusCode.OK);
            };
        }