2015-01-22 7 views
-5

У меня есть назначение, что мне нужно написать программу, которая открывает порт в сети, чем я должен проверить, открыт ли порт на другой машине с помощью nmap или netcat.Как открыть порт UDP?

Ну, я уже это сделал .. но я сделал это с помощью сокета, я создал сокет, а затем привязал и продолжал слушать, это единственный способ, которым я это знаю. Есть ли способ лучше ? потому что мой способ, похоже, не пишет .. Кроме того, открывается порт для TCP отличается от порта UDP?

Примечание: Я пытаюсь выяснить, как написать программу, которая открыть порт в C/C++, но Python или Java тоже хорошо ..

Edit: Я в порядке с TCP, но еще не выяснили, как открыть порт для UDP. Поскольку в UDP нет «прослушивания», как я должен держать порт открытым? Я написал программу, которая создает сокет для UDP и связывает его, но когда я просматриваю его с помощью nmap, он говорит «open/filter», как я должен сделать это только Open?

+0

Возможно, вы не можете изменить значение вопроса после того, как вы его спросили. – immibis

ответ

2

Правильный способ «открыть» порт.

Порт называется «открытым», если что-то его прослушивает. Поэтому, по определению, вам нужно слушать порт, чтобы он стал открытым.

+0

Ну, это работает с TCP, но с UDP нет «слушать». Поэтому я попробовал как отправку, так и прием, nmap говорит, что он открыт/отфильтрован. Из того, что я прочитал о портах, отфильтрован <> open. Или он всегда фильтруется для UDP? –

+1

@MoheTheDreamy С UDP вы слушаете дейтаграммы, просто привязывая сокет к этому порту. Не уверены, могут ли инструменты сканирования обнаруживать открытые порты UDP или нет. – immibis

Смежные вопросы