Как можно закрыть порты?

Wonkz

Как на С++ (или на делфи) закрыть порты?
13 ответов

Wonkz

закрыть порты?
Какие?


Wonkz

Какие?
По сути любые. Я ввожу адрес порта и оно его закрывает или блокирует, что-то в этом роде.


Wonkz

По сути любые.
какие любые параллельные? последовательные?клавиатуры ? USB? какая операционка? что значит закрыть?


Wonkz

ValeryS, У меня задание - вводить в программу адрес порта, и чтобы можно было его блокировать или закрывать.


Wonkz

Wonkz, http://ru.wikibooks.org/wiki/COM-%D0...BD%D0%B8%D0%B5) тут достаточно теории
 #include <windows.h>
   //. . .
   HANDLE Port;
   //. . .
   Port = CreateFile("\\\\.\\COM2", GENERIC_READ | GENERIC_WRITE, 0, NULL, OPEN_EXISTING, 0, NULL);
   if (Port == INVALID_HANDLE_VALUE) {
      MessageBox(NULL, "Невозможно открыть последовательный порт", "Error", MB_OK);
      ExitProcess(1);
   }
   //. . .
   CloseHandle(Port);
   //. . .
Wonkz, а как получить чужой порт - напрягись сам иначе нифигашеньки не получится твоё задание


Wonkz

Van111, Спасибо!!


Wonkz

IPпорты открывают серверные приложения, начиная их слушать, например, апач открывает 80-й порт, чтоб закрыть порт, надо закрыть соответствующее приложение. Кроме того, если одно приложение порт уже открыло, то второе уже не сможет открыть порт под тем же номером. Сама ось открывает только те порты, которыми расшаривает ресурсы собственными средствами. Например, если запустить службу доступа к файлами и каталогам, то будет открыт соотвествующий порт.


Wonkz

taras atavin, Так я и спрашивал "железные" порты или "программные"?


Wonkz

вопрос к ТС, а что такое порт?кстати на том же wikibooks есть более полезная статья Порт особенно понравился раздел в конце


Wonkz

XRuZzz, очень смешно. Если мне дают идиотские задания, и при этом, я сам очень плохо владею программированием, то не стоит смеяться с того, как я задаю вопросы или же не знаю "элементарных" вещейPS: Возможно сделать универсальную программу, которая будет при вводе порта его блокировать? Насколько я понял, мне нужны как "железные" так и "программные". Если это не возможно, то скажите пожалуйста. Я тогда скажу преподавателю, что это сделать невозможно.И встречный вопрос, можно ли сделать универсальную программу, которая будет блокировать, допустим, только "программные" порты, ну или "железные"?


Wonkz

Wonkz, да, драйвера пишите


Wonkz

"Железные" порты блокировать из под виндос не получится ( не пустит) надо писать драйвера единственный путь открыть порт в своей программе занять и никому не отдавать а "программные" это чаще всего порты протокола TCP/IP http://ru.wikipedia.org/wiki/TCP/IP можно, любой фаервалл это делает


Wonkz

Wonkz, насчёт сокетов (потов интернет соединений) есть статьи по созданю снифера вот там вы получаете доступ ко всем пакетам