![]() ![]() ![]()
Какой рейтинг вас больше интересует?
|
![]()
Создание Port Scanner с C#2012-11-01 09:19:54 (читать в оригинале)
![]() Сначала подключаем необходимые нам для работы пространства имен: using System.Net.Sockets; Предположим, мы хотим, просканировать порты с 1 по 25 для IP 192.168.0.1 (локальный IP-сети): public void portscan() { //Указываем диапазон сканируемых портов for (int CurrPort = 1; CurrPort <= 25; CurrPort++) { //Инициализируем новый экземпляр класса System.Net.Sockets.TcpClient. TcpClient TcpScan = new TcpClient(); try { //Выполняем подключение клиента к указанному порту заданного узла. TcpScan.Connect("192.168.0.1", CurrPort); //Если подключение выполнено успешно то выводим сообщение MessageBox.Show("Port " + CurrPort + " open"); } catch { //Если мы поймали исключение то порт закрыт MessageBox.Show("Port " + CurrPort + " closed"); } } }В приведенном выше коде мы выполняем цикл от 1 до 25 (портов) и попытаться подключиться к каждому, как я уже объяснял ранее. На скриншоте ниже вы можете увидеть полную реализацию данной задачи и ее код: ![]() // Заносим в переменную StartPort стартовый номер порта из компонента NumericUpDown StartPort = Convert.ToInt32(numStart.Value); // Заносим в переменную EndPort конечный номер порта из компонента NumericUpDown EndPort = Convert.ToInt32(numEnd.Value); //Выставляем компонент progress bar в нулевое положение prgScanning.Value = 0; // Указываем максимальное значение progress bar prgScanning.Maximum = EndPort - StartPort + 1; // Выставляем курсор в состояние WaitCursor Cursor.Current = Cursors.WaitCursor; // Выполняем цикл от начального до конечного порта for (int CurrPort = StartPort; CurrPort <= EndPort; CurrPort++) { //Инициализируем новый экземпляр класса System.Net.Sockets.TcpClient. TcpClient TcpScan = new TcpClient(); try { //Выполняем подключение клиента к указанному порту заданного узла. TcpScan.Connect(txtIP.Text, CurrPort); //Если подключение выполнено успешно то выводим в txtLog txtLog.AppendText("Port " + CurrPort + " open"); } catch { //Если мы поймали исключение то порт закрыт txtLog.AppendText("Port " + CurrPort + " closed"); } // Выполняем шаг в progress bar prgScanning.PerformStep(); } //Переводим курсор в обычное состояние Cursor.Current = Cursors.Arrow;
|
![]() ![]() ![]()
Категория «Мультипликация»
Взлеты Топ 5
Падения Топ 5
![]()
Популярные за сутки
|
Загрузка...

BlogRider.ru не имеет отношения к публикуемым в записях блогов материалам. Все записи
взяты из открытых общедоступных источников и являются собственностью их авторов.
взяты из открытых общедоступных источников и являются собственностью их авторов.