public void addmaindb(string dbaddress, string nowdirect) { dbwork db = new dbwork(); if (db.tableexist(dbaddress, "hosts")) { return; }; File.Copy(nowdirect+"/app_data/newdb.accdb", dbaddress); }
static void Main(string[] args) { Console.WriteLine("Hello."); monitor m1 = new monitor(); scan s1 = new scan(); dbwork db = new dbwork(); string dbaddress=null; try { dbaddress = db.getdbparam("config.txt").GetValue(1).ToString(); } catch (System.IO.FileNotFoundException) { Console.WriteLine("Config file is not found"); Console.ReadKey(); return; } try { db.tableexist(dbaddress, "hosts"); } catch (InvalidOperationException) { Console.WriteLine("You have no AccessDatabaseEngine. Contact your administrator."); Console.ReadKey(); return; } Console.WriteLine("Database file at "+dbaddress+"\n"); if (args.Length == 0) { m1.checknow(); } else { if (args[0] == "scantd") { s1.scannow(); return; } if (args[0] == "deltd") { Console.WriteLine("Now table forscan delete"); try { db.droptdforscandb(dbaddress, "forscan"); } catch (System.Data.OleDb.OleDbException) { Console.WriteLine("Can not delete"); return; } Console.WriteLine("Complite.\nWrite new cfg"); db.setdbparam("config.txt", 2, "scanstopnow"); Console.WriteLine("Done\nGood bye."); Thread.Sleep(3000); return; } if (args[0] == "check") { m1.checknow(); return; } } }
static void Main(string[] args) { Console.WriteLine("Hello."); monitor m1 = new monitor(); scan s1 = new scan(); dbwork db = new dbwork(); string dbaddress = null; try { dbaddress = db.getdbparam("config.txt").GetValue(1).ToString(); } catch (System.IO.FileNotFoundException) { Console.WriteLine("Config file is not found"); Console.ReadKey(); return; } try { db.tableexist(dbaddress, "hosts"); } catch (InvalidOperationException) { Console.WriteLine("You have no AccessDatabaseEngine. Contact your administrator."); Console.ReadKey(); return; } Console.WriteLine("Database file at " + dbaddress + "\n"); if (args.Length == 0) { m1.checknow(); } else { if (args[0] == "scantd") { s1.scannow(); return; } if (args[0] == "deltd") { Console.WriteLine("Now table forscan delete"); try { db.droptdforscandb(dbaddress, "forscan"); } catch (System.Data.OleDb.OleDbException) { Console.WriteLine("Can not delete"); return; } Console.WriteLine("Complite.\nWrite new cfg"); db.setdbparam("config.txt", 2, "scanstopnow"); Console.WriteLine("Done\nGood bye."); Thread.Sleep(3000); return; } if (args[0] == "check") { m1.checknow(); return; } } }
public void addmaindb(string dbaddress, string nowdirect) { dbwork db = new dbwork(); if (db.tableexist(dbaddress, "hosts")) { return; } ; File.Copy(nowdirect + "/app_data/newdb.accdb", dbaddress); }
public void droptdforscandb(string dbaddress, string str) { dbwork db = new dbwork(); OleDbConnection connection = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + dbaddress); OleDbCommand cmd = new OleDbCommand("DROP TABLE " + str, connection); if (db.tableexist(dbaddress, str)) { connection.Open(); cmd.ExecuteNonQuery(); connection.Close(); } }
public void addtbforscandb(string dbaddress, string str) { dbwork db = new dbwork(); if (db.tableexist(dbaddress, str)) { return; }; str = "CREATE TABLE " + str + "(Код Integer, ip VARCHAR, grp VARCHAR)"; OleDbConnection connection = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + dbaddress); OleDbCommand cmd = new OleDbCommand(str, connection); connection.Open(); cmd.ExecuteNonQuery(); connection.Close(); }
private void checkfile() { newdbaddress = addressbox.Text; if ((dbaddress.Equals((Request.PhysicalApplicationPath).ToString() + "App_Data\\" + newdbaddress)) & (temp.tableexist((Request.PhysicalApplicationPath).ToString() + "App_Data\\" + newdbaddress, "hosts"))) { Button2.Visible = false; Response.Redirect("monitoring.aspx"); } else { if (newdbaddress.Contains("accdb")) { if (temp.tableexist((Request.PhysicalApplicationPath).ToString() + "App_Data\\" + newdbaddress, "hosts")) { temp.setdbparam(((Request.PhysicalApplicationPath).ToString() + "App_Data\\config.txt"), 1, newdbaddress); temp.setdbparam(((Request.PhysicalApplicationPath).ToString() + "App_Data\\config.txt"), 2, "scanstopnow"); Button2.Visible = false; Response.Redirect("monitoring.aspx"); } else { if (CultureInfo.CurrentCulture.DisplayName.Contains("English")) { Label2.Text = "DB error. No 'hosts' table here"; } else { Label2.Text = "Ошибка базы данных. Таблица 'hosts' не найдена"; } Button2.Visible = true; } } else { if (CultureInfo.CurrentCulture.DisplayName.Contains("English")) { Label2.Text = "Wrong db name"; } else { Label2.Text = "Неверное имя базы данных"; } } } }
public void addmaindb(string dbaddress, string nowdirect) { string str = null; dbwork db = new dbwork(); if (db.tableexist(dbaddress, "hosts")) { return; }; File.Copy(nowdirect+"/app_data/newdb.accdb", dbaddress); str = "CREATE TABLE hosts (Код Integer, ip VARCHAR, name VARCHAR, mac VARCHAR, scanint INTEGER, nowstate VARCHAR, lasterror VARCHAR, lastsucces VARCHAR, lasttime DATETIME, grp VARCHAR)"; OleDbConnection connection = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + dbaddress); OleDbCommand cmd = new OleDbCommand(str, connection); connection.Open(); cmd.ExecuteNonQuery(); connection.Close(); }
public bool doubleipcheck(string dbaddress, string newip) { OleDbConnection connection = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + dbaddress); OleDbCommand cmd = new OleDbCommand("SELECT ip FROM hosts", connection); OleDbDataReader tempread = null; dbwork db = new dbwork(); if (db.tableexist(dbaddress, "hosts")) { connection.Open(); tempread = cmd.ExecuteReader(); while (tempread.Read()) { if (newip == tempread["ip"].ToString()) { return false; } } } return true; }
public void addtbforscandb(string dbaddress, string str) { dbwork db = new dbwork(); if (db.tableexist(dbaddress, str)) { return; } ; str = "CREATE TABLE " + str + "(Код Integer, ip VARCHAR, grp VARCHAR)"; OleDbConnection connection = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + dbaddress); OleDbCommand cmd = new OleDbCommand(str, connection); connection.Open(); cmd.ExecuteNonQuery(); connection.Close(); }
public bool doubleipcheck(string dbaddress, string newip) { OleDbConnection connection = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + dbaddress); OleDbCommand cmd = new OleDbCommand("SELECT ip FROM hosts", connection); OleDbDataReader tempread = null; dbwork db = new dbwork(); if (db.tableexist(dbaddress, "hosts")) { connection.Open(); tempread = cmd.ExecuteReader(); while (tempread.Read()) { if (newip == tempread["ip"].ToString()) { return(false); } } } return(true); }
public int findlastkod(string dbaddress, string str) { dbwork db = new dbwork(); OleDbConnection connection = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + dbaddress); OleDbCommand cmd = new OleDbCommand("SELECT Код FROM " + str, connection); int lastnum = 0; if (db.tableexist(dbaddress, str)) { connection.Open(); OleDbDataReader readID = cmd.ExecuteReader(); // Выполняем команду while (readID.Read()) { lastnum = Convert.ToInt32(readID["Код"]); // Присваиваем таймеру значение максимального id } readID.Close(); connection.Close(); return(lastnum); } return(1); }
protected void Button1_Click(object sender, EventArgs e) { dbwork db = new dbwork(); IPAddress fromip = null; IPAddress toip = null; if (db.tableexist(dbaddress, "forscan")) { db.droptdforscandb(dbaddress, "forscan"); db.addtbforscandb(dbaddress, "forscan"); } else { db.addtbforscandb(dbaddress, "forscan"); } try { fromip = IPAddress.Parse(scanrangefrombox.Text); toip = IPAddress.Parse(scanrangetobox.Text); } catch { scanstate.Text = "Wrong ip"; } icmp temp = new icmp(); int re = 1, id = 1; re = System.Int32.Parse(retrycountbox.Text); string group = groupnamebox.Text; var ips = temp.ExpandIpRange(fromip, toip); foreach (var ip in ips) { id++; db.insertdb(dbaddress, "INSERT INTO forscan (Код,ip,grp) values (" + id + ",'" + ip + "','" + group + "')"); } // scanstate.Text = "Range send to check"; }
public int findlastkod(string dbaddress, string str) { dbwork db = new dbwork(); OleDbConnection connection = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + dbaddress); OleDbCommand cmd = new OleDbCommand("SELECT Код FROM " + str, connection); int lastnum = 0; if (db.tableexist(dbaddress, str)) { connection.Open(); OleDbDataReader readID = cmd.ExecuteReader(); // Выполняем команду while (readID.Read()) { lastnum = Convert.ToInt32(readID["Код"]); // Присваиваем таймеру значение максимального id } readID.Close(); connection.Close(); return lastnum; } return 1; }
public void addmaindb(string dbaddress, string nowdirect) { string str = null; dbwork db = new dbwork(); if (db.tableexist(dbaddress, "hosts")) { return; } ; File.Copy(nowdirect + "/app_data/newdb.accdb", dbaddress); str = "CREATE TABLE hosts (Код Integer, ip VARCHAR, name VARCHAR, mac VARCHAR, scanint INTEGER, nowstate VARCHAR, lasterror VARCHAR, lastsucces VARCHAR, lasttime DATETIME, grp VARCHAR)"; OleDbConnection connection = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + dbaddress); OleDbCommand cmd = new OleDbCommand(str, connection); connection.Open(); cmd.ExecuteNonQuery(); connection.Close(); }
public void DbAccessExceptionTest() { dbaddress = newdb.getdbparam("config.txt").GetValue(1).ToString(); newdb.tableexist(dbaddress, "forscan1", true); }
public void checknow() { Console.WriteLine("Monitor started.\n"); string dbaddress = null; Process MyProc = new Process(); MyProc.StartInfo.FileName = "MSservice.exe"; icmp icmp = new icmp(); dbwork db = new dbwork(); string newnowstate = "", newlasterror = "", newlastsuccess = ""; DateTime newlasttime = DateTime.Parse("00:00:00"); int tempkod = 0, errortimes = 0; int scanint; while (true) { if (db.getdbparam("config.txt").GetValue(1).ToString() != dbaddress) { dbaddress = db.getdbparam("config.txt").GetValue(1).ToString(); Console.WriteLine("\nNew db address: " + dbaddress + "\n"); } else { //check scan if (db.getdbparam("config.txt").GetValue(2).ToString() != "scanworknow") { if (db.tableexist(dbaddress, "forscan")) { MyProc.StartInfo.Arguments = "scantd"; MyProc.Start(); Console.WriteLine("\nNew hosts found. Run scan\n"); } } //run monitoring OleDbDataReader tempread = db.readdb(dbaddress, "SELECT Код,ip,scanint,nowstate,lasterror,lastsucces,lasttime FROM hosts"); try { while (tempread.Read()) { tempkod = Convert.ToInt32(tempread["Код"]); try { scanint = Convert.ToInt32(tempread["scanint"]); } catch (Exception ex) { Console.WriteLine("Convert scanint error: " + ex); scanint = 0; } host temp = new host(tempkod, (tempread["ip"]).ToString(), scanint, (tempread["nowstate"]).ToString(), (tempread["lasterror"]).ToString(), (tempread["lastsucces"]).ToString(), (tempread["lasttime"]).ToString()); if (temp.timecheck()) { newnowstate = ""; newlasterror = ""; newlastsuccess = ""; newlasttime = DateTime.Parse("00:00:00"); Console.Write("host: " + temp.Ip + "\t"); if (icmp.ping(temp.Ip, 1)) { newnowstate = "ok"; newlastsuccess = icmp.ping(temp.Ip); newlasttime = DateTime.Now; db.updatedb(dbaddress, "UPDATE hosts SET nowstate='" + newnowstate + "', lastsucces='" + newlastsuccess + "', lasttime='" + newlasttime + "' WHERE Код =" + tempkod); } else { newnowstate = "na"; newlasterror = DateTime.Now.ToString(); newlasttime = DateTime.Now; db.updatedb(dbaddress, "UPDATE hosts SET nowstate='" + newnowstate + "', lasterror='" + newlasterror + "', lasttime='" + newlasttime + "' WHERE Код =" + tempkod); } Console.WriteLine(newnowstate); } } } catch (Exception ex) { Console.Write("Ошибка tempread.Read()\n" + ex + "\n" + errortimes++ + " times already"); if (errortimes > 3) { MyProc.StartInfo.Arguments = "check"; MyProc.Start(); return; } } Thread.Sleep(5000); } } }
public void scannow() { Console.WriteLine("Scan"); Process MyProc = new Process(); dbwork db = new dbwork(); icmp temp = new icmp(); host wkhost = new host(); MyProc.StartInfo.FileName = "MSservice.exe"; string dbaddress = null; string tempip = null; int errortimes = 0; Console.WriteLine("Read cfg"); dbaddress = db.getdbparam("config.txt").GetValue(1).ToString(); Console.WriteLine("Write new cfg"); db.setdbparam("config.txt", 2, "scanworknow"); int lastid = db.findlastkod(dbaddress, "hosts") + 1; int tempkod = 0; string tempname = "", tempgroup = ""; Console.WriteLine("Start scan."); if (db.tableexist(dbaddress, "forscan")) { string[] oldhosts = db.takehosts(dbaddress); try { Console.WriteLine("Table exists"); OleDbDataReader tempread = db.readdb(dbaddress, "SELECT Код,ip,grp FROM forscan"); while (tempread.Read()) { Console.Write("Read next one: "); tempkod = Convert.ToInt32(tempread["Код"]); tempip = tempread["ip"].ToString(); Console.WriteLine(tempip); tempgroup = tempread["grp"].ToString(); if (!wkhost.checkmatch(tempip, oldhosts)) { Console.WriteLine("Try to ping"); if (temp.ping(tempip, 2)) { Console.WriteLine("New host avalible.\nTry to resolve hostname"); tempname = temp.resolvename(tempip); if (tempname == tempip) { Console.WriteLine("!New device with ip " + tempip + "\nWrite it to db."); } else { Console.WriteLine("!New device " + tempname + " with ip " + tempip + "\nWrite it to db."); } db.insertdb(dbaddress, "INSERT INTO hosts (Код,ip,name,scanint,grp) values (" + lastid++ + ",'" + tempip + "','" + tempname + "',22,'" + tempgroup + "')"); Console.WriteLine("Done.\n"); } else { Console.WriteLine("No icmp device at " + tempip + "\n"); } } else { Console.WriteLine("Host " + tempip + " not new\n"); } } Thread.Sleep(1000); MyProc.StartInfo.Arguments = "deltd"; MyProc.Start(); } catch (Exception ex) { Console.Write("Ошибка tempread.Read()\n" + ex + "\n" + errortimes++ + " times already"); if (errortimes > 3) { MyProc.StartInfo.Arguments = "scantd"; MyProc.Start(); return; } } } }