Проблеа в следующем.
Нужно каким-то образом добраться до конкретного порта(номер известен) с целью определения-
передаются ли по нему пакеты, и вообще открыт ли он. Неплохо было бы самому отправить через него пакет.
Re: Помогите неучу разобраться с портами(доступ по номеру)
Здравствуйте, plankov_maksim, Вы писали:
PM>Проблеа в следующем. PM>Нужно каким-то образом добраться до конкретного порта(номер известен) с целью определения- PM>передаются ли по нему пакеты, и вообще открыт ли он. Неплохо было бы самому отправить через него пакет.
Уточни. Порты на локальной машине или на удаленной. Если на локальной то проверить используется ли порт достаточно попробовать его забиндить, если удалось, то не используется. Если он на удаленной машине то попробуй на него сконнектиться, не удалось значит не используется, но тут 2 варианта. 1) действительно не используется 2) используется UDP. В общем ошибку сокета ловить надо. Для перехвата пакетов используй сниффер на этом сайте были исходники простенького сниффера под Win2k(XP). Его надо будет немного доработать (разбор пакетов) и фильтровать только пакеты с этого <-> на этот порт. Ну а для отправки... Если он свободен создай на него сокет и отправляй на здоровье.
Re[2]: Помогите неучу разобраться с портами(доступ по номеру
Здравствуйте, free_stranger, Вы писали:
FS>Здравствуйте, plankov_maksim, Вы писали:
PM>>Проблеа в следующем. PM>>Нужно каким-то образом добраться до конкретного порта(номер известен) с целью определения- PM>>передаются ли по нему пакеты, и вообще открыт ли он. Неплохо было бы самому отправить через него пакет.
FS>Уточни. Порты на локальной машине или на удаленной. Если на локальной то проверить используется ли порт достаточно попробовать его забиндить, если удалось, то не используется. Если он на удаленной машине то попробуй на него сконнектиться, не удалось значит не используется, но тут 2 варианта. 1) действительно не используется 2) используется UDP. В общем ошибку сокета ловить надо. Для перехвата пакетов используй сниффер на этом сайте были исходники простенького сниффера под Win2k(XP). Его надо будет немного доработать (разбор пакетов) и фильтровать только пакеты с этого <-> на этот порт. Ну а для отправки... Если он свободен создай на него сокет и отправляй на здоровье.
Спасибо за помощь. Вот уточнения.
Машина локальная. Но предполагается, что проверять придётся почти все порты, а ежели каждый так проверять, то её можно и повесить. Как я понимаю придётся пытаться отркывать эти порты(кстати как его открыть по номеру?).
Re[2]: Помогите неучу разобраться с портами(доступ по номеру
FS>Уточни. Порты на локальной машине или на удаленной. Если на локальной то проверить используется ли порт достаточно попробовать его забиндить, если удалось, то не используется.
Не факт. См. SO_REUSEADDR.
Здравствуйте, plankov_maksim, Вы писали какую-то кашу, попытайтесь четче сформулировать, что надо, тогда и ответы повалятся наверное. По крайней мере, перечислить открытые локальные порты труда не представляет.
Здравствуйте, vasketsov, Вы писали:
V>Здравствуйте, plankov_maksim, Вы писали какую-то кашу, попытайтесь четче сформулировать, что надо, тогда и ответы повалятся наверное. По крайней мере, перечислить открытые локальные порты труда не представляет.
Необходимо не просто перечислить октрытые локальные TCP-порты, но и отловить момент, когда через них начинают пересылаться пакеты. При этом конкретных портов одновременно может проверяться очень много. Номер устанавливает пользователь. И система должна выжить.
Re[3]: Помогите неучу разобраться с портами(доступ по номеру
От:
Аноним
Дата:
20.10.04 07:58
Оценка:
Здравствуйте, Andrew S, Вы писали:
FS>>Уточни. Порты на локальной машине или на удаленной. Если на локальной то проверить используется ли порт достаточно попробовать его забиндить, если удалось, то не используется. AS>Не факт. См. SO_REUSEADDR.
А как же тогда корректно проверять?
Re[3]: Помогите неучу разобраться с портами(доступ по номеру
Здравствуйте, plankov, Вы писали:
P>Спасибо за помощь. Вот уточнения. P>Машина локальная. Но предполагается, что проверять придётся почти все порты, а ежели каждый так проверять, то её можно и повесить.
Может тогда лучше её вообще не трогать, вдруг повиснет?
P>Как я понимаю придётся пытаться отркывать эти порты(кстати как его открыть по номеру?).
Можно поступить проще, используй SNMP или IP Helper API. См. функции GetTcpTable, GetUdpTable. Это для локальной машины. Можно запустить netstat -an и распарсить его вывод
Для удалённой — сканирование портов, существует много различных методов, почитай об этом на домашней странице сканера nmap.
Нет ничего невозможного..
Re[3]: Помогите неучу разобраться с портами(доступ по номеру
Здравствуйте, plankov_maksim, Вы писали:
_>Необходимо не просто перечислить октрытые локальные TCP-порты, но и отловить момент, когда через них начинают пересылаться пакеты. При этом конкретных портов одновременно может проверяться очень много. Номер устанавливает пользователь. И система должна выжить.
Почитайте занимательный спор двух гуру, может он вас натолкнёт на нужные размышления: Перехват EMAIL и анализ POP3 протокола на уровне TCP/IP