Файл: Реферат дипломный проект содержит 60 страниц, 62 рисунка, 2 таблицы, список использованных источников включает 40 наименований. Ключевые слова беспроводная сеть, WiFi, wep, wpa, wpa2, wpa3, wps, атака человек по середине.pdf

ВУЗ: Не указан

Категория: Реферат

Дисциплина: Не указана

Добавлен: 02.12.2023

Просмотров: 59

Скачиваний: 3

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

82
} else if (connected != null && connected.Value)
{ label_status.Text
=
"Статус: подключен к "
+
_getCurrentNetworkName(); connect_check = true;
} else label_status.Text = "Статус: отключен от сети.";
} private string _getCurrentNetworkName()
{ string res = string.Empty; try
{ res
=
_wifiScanClient.Interfaces[0].CurrentConnection.profileName;
} catch { } return res;
} private void dataGridView_networks_CellContentClick(object sender,
DataGridViewCellEventArgs e)
{
}

83 private void button1_Click(object sender, EventArgs e)
{ if (connect_check == true)
{
DevicesList devlist = new DevicesList(); devlist.Show();
} else
{
MessageBox.Show("Подключитесь к сети!");
}
} private void button2_Click(object sender, EventArgs e)
{ if(connect_check == true)
{
DateTime dateTime = new DateTime(); var password = textBox_password.Text; string result = ""; var regex = new Regex(@"([a - z])"); var regex2 = new Regex(@"([a-zA-Z])"); var regex1 = new Regex(@"([0 - 9])"); var regex3 = new Regex(@"([!,@,#,$,%,^,&,*,?,_,])"); if (password.Length >= 8 && regex1.IsMatch(password) && regex2.IsMatch(password) && regex3.IsMatch(password))
{ result = (DateTime.Now.ToString() + "Пароль удовлетворяет всем условиям.");

84
//return;
} if (password.Length >= 8 && regex1.IsMatch(password) && regex2.IsMatch(password))
{ result = (DateTime.Now.ToString() + " Пароль не содержит спец. символы.");
//return;
} if (password.Length >= 8 && regex2.IsMatch(password))
{ result = (DateTime.Now.ToString() + " Пароль не содержит спец. сиволы и цифры.");
//return;
} if (password.Length >= 8 && regex1.IsMatch(password) == true)
{ result = (DateTime.Now.ToString() + " Пароль не содержит спец. сиволы, большие буквы алфавита.");
//return;
} if (password.Length < 8 && regex.IsMatch(password))
{ result = (DateTime.Now.ToString() + " Пароль не содержит спец. сиволы, цифры, большие буквы алфавита, длина меньше 8 знаков.");
//return;
}
MessageBox.Show("Готово! Проверьте логи событий.");
DevicesList.Result_pas = result;
}

85 else
{
MessageBox.Show("Нет подключения к сети");
}
}
}
} using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Net.NetworkInformation; using System.Net.Sockets; using System.Net; using System.Threading; using System.Threading.Tasks; using System.Windows.Forms; using Timer = System.Threading.Timer; namespace WiFiScanBrute
{ public partial class DevicesList : Form
{ public DevicesList()
{

86
InitializeComponent();
} public List devList = new List(); public bool Try_connect = true; static public string Result_pas = ""; private void DevicesList_Load(object sender, EventArgs e)
{ listBox1.Items.Add("Этот компьютер"); devList.Add("0"); listView1.View = View.Details; listView1.Clear(); listView1.GridLines = true; listView1.FullRowSelect = true; listView1.BackColor = System.Drawing.Color.White; listView1.Columns.Add("IP", 100); listView1.Columns.Add("Имя хоста", 150); listView1.Columns.Add("MAC адрес", 150); listView1.Columns.Add("Обнаружено", 150);
Ping_all(); timer1.Enabled = true;
} static string NetworkGateway()
{ string ip = null; foreach
(NetworkInterface f in
NetworkInterface.GetAllNetworkInterfaces())
{

87 if (f.OperationalStatus == OperationalStatus.Up)
{ foreach
(GatewayIPAddressInformation d in f.GetIPProperties().GatewayAddresses)
{ ip = d.Address.ToString();
}
}
} return ip;
} public void Ping_all()
{ string gate_ip = NetworkGateway(); try
{ string[] array = gate_ip.Split('.'); if (Try_connect == false)
{
Try_connect = true; listBox2.Items.Add(DateTime.Now.ToString() + " Соединение восстановлено.");
} for (int i = 2; i <= 255; i++)
{ string ping_var = array[0] + "." + array[1] + "." + array[2] + "."
+ i;


88
//время в мс
Ping(ping_var, 1, 4000);
}
} catch
{ listBox2.Items.Add(DateTime.Now.ToString() + " Ошибка.
Соединение потеряно...");
Try_connect = false; devList.Clear();
}
} public void Ping(string host, int attempts, int timeout)
{ for (int i = 0; i < attempts; i++)
{ new Thread(delegate ()
{ try
{
System.Net.NetworkInformation.Ping ping
= new
System.Net.NetworkInformation.Ping(); ping.PingCompleted
+= new
PingCompletedEventHandler(PingCompleted); ping.SendAsync(host, timeout, host);
} catch
{

89
}
}).Start();
}
} private void PingCompleted(object sender, PingCompletedEventArgs e)
{
DateTime dateTime = new DateTime(); string ip = (string)e.UserState; if (e.Reply != null && e.Reply.Status == IPStatus.Success)
{ string hostname = GetHostName(ip); string macaddres = GetMacAddress(ip); string[] arr = new string[4];
//параметры которые идут в ListView arr[0] = ip; arr[1] = hostname; arr[2] = macaddres; arr[3] = DateTime.Now.ToLongTimeString();
ListViewItem item; if (this.InvokeRequired)
{ this.Invoke(new Action(() =>
{ item = new ListViewItem(arr); listView1.Items.Add(item);

90 for (int i = 0; i < listView1.Items.Count; i++)
{ for (int j = 0; j < listBox1.Items.Count; j++)
{ if
(listView1.Items[i].SubItems[2].Text
== listBox1.Items[j].ToString())
{ listView1.Items[i].BackColor = Color.Aquamarine; break;
} else
{ listView1.Items[i].BackColor = Color.OrangeRed;
}
}
} string comparelist = arr[0] + " | " + arr[2]; bool comp = false; for (int i = 0; i < devList.Count; i++)
{ if (comparelist == devList[i])
{ break;
} else
{ if (i == (devList.Count - 1))
{ devList.Add(comparelist);

91 listBox2.Items.Add(DateTime.Now.ToString() + "
Обнаружено новое устройство в сети: " + comparelist); for (int j = 0; j { if(listBox1.Items[j].ToString() == arr[2])
{ listBox2.Items.Add("Данный
MAC адрес присутствует в списке разрешенных устройств."); comp = true; break;
} if((j == (listBox1.Items.Count -1)) && comp == false)
{ listBox2.Items.Add("Данный
MAC адрес отсутствует в списке разрешенных устройств!");
}
}
}
}
} if (Result_pas != "")
{ listBox2.Items.Add(Result_pas);
Result_pas = "";
}
}));
}
} else

92
{
}
} public string GetHostName(string ipAddress)
{ try
{
IPHostEntry entry = Dns.GetHostEntry(ipAddress); if (entry != null)
{ return entry.HostName;
}
} catch (SocketException)
{
} return null;
}
//получаем MAC адрес public string GetMacAddress(string ipAddress)
{ string macAddress = string.Empty;
System.Diagnostics.Process
Process
= new
System.Diagnostics.Process();
Process.StartInfo.FileName = "arp";
Process.StartInfo.Arguments = "-a " + ipAddress;
Process.StartInfo.UseShellExecute = false;

93
Process.StartInfo.RedirectStandardOutput = true;
Process.StartInfo.CreateNoWindow = true;
Process.Start(); string strOutput = Process.StandardOutput.ReadToEnd(); string[] substrings = strOutput.Split('-'); if (substrings.Length >= 8)
{ macAddress
= substrings[3].Substring(Math.Max(0, substrings[3].Length - 2))
+ "-" + substrings[4] + "-" + substrings[5] + "-" + substrings[6]
+ "-" + substrings[7] + "-"
+ substrings[8].Substring(0, 2); return macAddress;
} else
{ return "Этот компьютер";
}
} private void timer1_Tick(object sender, EventArgs e)
{ listView1.Items.Clear();
Ping_all();
} private void label1_Click(object sender, EventArgs e)
{

94
} private void button1_Click(object sender, EventArgs e)
{ for (int i = 0; i < listView1.Items.Count; i++)
{ if (listView1.Items[i].Selected == true)
{ listBox1.Items.Add(listView1.Items[i].SubItems[2].Text);
MessageBox.Show("MAC адрес успешно добавлен в список разрешенных: " + listView1.Items[i].SubItems[2].Text); listBox2.Items.Add(DateTime.Now.ToString() + " MAC адрес добавлен в список разрешенных: " + listView1.Items[i].SubItems[2].Text);
}
}
} private void button2_Click(object sender, EventArgs e)
{
DateTime dateTime = new DateTime(); for (int i = 0; i {
Data_jump.rep.Add(listBox2.Items[i].ToString());
} sending snd = new sending(); snd.ShowDialog();
} private void button3_Click(object sender, EventArgs e)
{


95
} private void button4_Click(object sender, EventArgs e)
{ bool chck_res = false; for (int i = 0; i < listView1.Items.Count; i++)
{ if (listView1.Items[i].Selected == true)
{ for (int j = 0; j < listBox1.Items.Count; j++)
{ if
(listView1.Items[i].SubItems[2].Text
== listBox1.Items[j].ToString())
{ chck_res = true; listBox1.Items.RemoveAt(j);
MessageBox.Show("MAC адрес удален из списка разрешенных MAC устройств"); listBox2.Items.Add(DateTime.Now.ToString() + " MAC адрес удален из списка разрешенных: " + listView1.Items[i].SubItems[2].Text);
}
}
}
} if(chck_res == false)
{
MessageBox.Show("Данного MAC адреса нет в списке разрешенных.");
}

96
}
}
} using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Net.Mail; using System.Net; using System.Windows.Forms; namespace WiFiScanBrute
{ public partial class sending : Form
{ public sending()
{
InitializeComponent();
} private void sending_Load(object sender, EventArgs e)
{
} private void button1_Click(object sender, EventArgs e)

97
{ try
{
// отправитель - устанавливаем адрес и отображаемое в письме имя
MailAddress from
= new
MailAddress("oieutyoieuoyttytoiyty@outlook.com", "Monitor_info");
// кому отправляем
MailAddress to = new MailAddress(textBox1.Text);
// создаем объект сообщения
MailMessage m = new MailMessage(from, to);
// тема письма m.Subject = "Отчет " + DateTime.Now.ToString();
// текст письма string reporting = ""; for (int i = 0; i < Data_jump.rep.Count; i++)
{ reporting += Data_jump.rep[i]; reporting += "\t";
} m.Body = "

" + reporting + "

";
// письмо представляет код html m.IsBodyHtml = true;
// адрес smtp-сервера и порт, с которого будем отправлять письмо
SmtpClient smtp = new SmtpClient("smtp-mail.outlook.com",
587);
// логин и пароль smtp.Credentials
= new
NetworkCredential("oieutyoieuoyttytoiyty@outlook.com", "qwerty12345");

98 smtp.EnableSsl = true; smtp.Send(m); label2.Text = ("Отчет отправлен на адрес.");
} catch
{ label2.Text = ("Ошибка. Неправильно введен E-mail адрес.");
}
}
}
} using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace WiFiScanBrute
{ static class Data_jump
{ public static List rep = new List();
}