Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.04.02;
Скачать: CL | DM;

Вниз

Можно ли прослушать порт, если на нем уже висит другая программа   Найти похожие ветки 

 
DelphiN! ©   (2006-03-03 12:26) [0]

Очень нужно прослушать и получить данные с порта, на котором уже висит другая программа. При этом моя программа естесно не должна мешать первой. Как такое возможно?


 
Курдль ©   (2006-03-03 12:32) [1]

Очень простоц вопрос: "протокол какой?"


 
DelphiN! ©   (2006-03-03 12:33) [2]

TCP/IP


 
Курдль ©   (2006-03-03 12:36) [3]

Нельзя. Хотя тогда надо понять утверждение "висит другая программа". Что это значит?
1. программа для своих целей использует указанный порт.
2. программа установила коннект по этому порту с другой программой.


 
DelphiN! ©   (2006-03-03 12:38) [4]

Первая программа, это прокси сервер, которые получает запросы по данному порту от клиентов, и сответственно по нему же шлет им ответ, моя программа должна лишь получать запросы от клиентов и обрабатывать их(для ведения отчетности)


 
Курдль ©   (2006-03-03 12:43) [5]


> и сответственно по нему же шлет им ответ


Вовсе не соответственно! Обычно в таких случаях всем подключающимся известен TCP-прослушиватель прокси. По запросу, пришедшему на него от клиента, сервер открывает новый порт и предоставляет его для связи клиенту, а прослушиватель так и остается в режиме прослушивания и готовности к новому коннекту.


 
DelphiN! ©   (2006-03-03 12:52) [6]


>  [5] Курдль ©   (03.03.06 12:43)


Не совсем понял как клиенту может быть известен прослущиватель?
И как реализовать чтобы сервер открывал новый порт, чтобы отсылать по нему информацию, да и принимать сервер должен данные по тому же порту, что и прослушиватель.


 
Курдль ©   (2006-03-03 13:06) [7]


> Не совсем понял как клиенту может быть известен прослущиватель?


Читайте первоисточники. Если Вам говорят, что MS SQL Server связывается с клиентом по порту 3625 (не точно), то это и есть порт прослушивателя.


 
DelphiN! ©   (2006-03-03 13:15) [8]

Всмысле данные сначало поступают на порт прослушки, а потом программа прослушки пересылает их на другой порт конечному адресату?


 
Курдль ©   (2006-03-03 13:17) [9]


> Всмысле данные сначало поступают на порт прослушки


Не данные, а запрос на коннект. Данные ждут, пока коннект не установится :)


 
DelphiN! ©   (2006-03-03 13:26) [10]

А как перенаправить запрос на коннект на другой порт, скажем в том же самом TServerSocket-e?

А прокся ответ куда скинет? В прокси сервере скажем Юзергейт указыватся 1 порт для работы с клиентами, а 2 указать нельзя(исходящий\входящий). Получается и ответ перенаправлять нужно?


 
Курдль ©   (2006-03-03 13:28) [11]

Думаю, что едва ли нам в разумное время удастся закончить подобный диалог. Без изучения литературы по розеткам никак не обойтись :(


 
DelphiN! ©   (2006-03-03 13:35) [12]

Не посоветуете что почитать, желательно чтобы с реальными примерами, да и поконкретней было, просто очень скоро нужно сделать ...


 
Курдль ©   (2006-03-03 13:42) [13]

Так навскидочку литературу не назову. Я использовал чистый MSDN. Но ясности это добавило уйму. Еще следует поискать литературу по WinSock2.
Кстати, первым моим шагом был топик на Delphimaster, типа "как по-быстренькому организовать работу с сокетами". В результате пришлось таки изучать первоисточники. Дело хоть и не простое, но крайне интересное.


 
DelphiN! ©   (2006-03-03 13:47) [14]

Спасибо, буду копать ...


 
Piter ©   (2006-03-03 13:50) [15]

Плохой вариант.

Какой прокси используется? Практически все прокси могут делать логи. Вот логи и надо обрабатывать, а не искать извращенные способы.


 
Ученик чародея ©   (2006-03-03 13:52) [16]

сниффер?


 
DelphiN! ©   (2006-03-03 14:12) [17]


>  [15] Piter ©   (03.03.06 13:50)


Просто нужно данные обрабатывать при каждом получении нового запроса(для быстрого реагирования, при содержании в логах определеной информации). А перерывать лог при каждом запросе на соединение не реально.


>  [16] Ученик чародея ©   (03.03.06 13:52)


Уже думал об этом, только раньше с этим не сталкивался. Слышал о библиотеке WinPCap, но только слышал, не более ..


 
DelphiN! ©   (2006-03-03 14:24) [18]


> [15] Piter ©   (03.03.06 13:50)


Да и в логи прокси серверов вводятся только запрашиваемые адреса, а содержимое HTML объектов не записывается ...


 
KSergey ©   (2006-03-03 14:57) [19]

Книжка:

Э.Джонс, Д.Оланд
Программирование в сетях Microsoft Windows.
Издательство "Питер"

Все от и до (практически)


 
umbra ©   (2006-03-03 15:23) [20]

DelphiN! ©
к тому же на любом прокси возможно распределять доступ к внешней сети в зависимости от имени пользователя, его IP-адреса, МАС-адреса, УРЛ, к которому идет запрос и т.д. Вы пытаетесь сдублировать работу прокси сервера.


 
Lamer@fools.ua ©   (2006-03-03 16:01) [21]

>>DelphiN! ©   (03.03.06 12:33) [2]

>TCP/IP
Это не протокол, а стек протоколов. Причём разного уровня: IP — сетевого, а TCP — транспортного.


 
tesseract ©   (2006-03-04 13:16) [22]

IP - служит только для однозначного определения адреса, TCP/UDP уже для передачи данных.


 
Verg ©   (2006-03-04 13:21) [23]

см. SOCK_RAW и SIO_RCVALL ( Winsock2 и т.д. ), winpcap http://www.winpcap.org/


 
Piter ©   (2006-03-04 18:09) [24]

tesseract ©   (04.03.06 13:16) [22]
IP - служит только для однозначного определения адреса, TCP/UDP уже для передачи данных


гы, надо же такой бред с таким умным видом говорить :)))


 
tesseract ©   (2006-03-04 19:43) [25]


> гы, надо же такой бред с таким умным видом говорить :)))

Дарова. Есть другое мнение ?


 
Piter ©   (2006-03-04 20:28) [26]

tesseract ©   (04.03.06 19:43) [25]
Дарова. Есть другое мнение ?


Привет. Да, есть :)))

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

Или ты очень криво выражаешься.


 
DelphiN! ©   (2006-03-06 07:22) [27]

А что скажите о книге
Йон Снейдер
Эффективное программирование TCP/IP
?


 
tesseract ©   (2006-03-06 11:08) [28]


> Как ты вообще такую глупость можешь говорить, если для передачи
> своих пакетов TCP все равно использует IP протокол?


IP используется для адресации. Конечно можно написать свой транспортный протокол вроде TCP или UDP. А можно и по ARP данные передавать, но нужно ли это?


 
umbra ©   (2006-03-06 11:28) [29]

2 Piter ©   (04.03.06 20:28) [26]

наоборот, для передачи данных IP протокол использует TCP


 
tesseract ©   (2006-03-06 14:21) [30]


> наоборот, для передачи данных IP протокол использует TCP

Неа питер правее. TCP/UPD пакеты дополняются IP-заголовком. Но для конктретной передачи данных, уже используются TCP/UDP.


 
Piter ©   (2006-03-06 14:30) [31]

tesseract ©   (06.03.06 11:08) [28]
IP используется для адресации


Используется, и что? Понятное дело, что в протоколе должно быть обозначено такое понятие как адрес отправителя и получателя, иначе как тогда пакеты будут ходить.

Но непосредственно передаются в ИНТЕРНЕТЕ именно IP-пакеты. Маршрутизаторы работают с IP-пакетами, а что там внутри завернуто - TCP, UDP или еще что - в большинстве случаев им все равно.

umbra ©   (06.03.06 11:28) [29]
наоборот, для передачи данных IP протокол использует TCP


 
Piter ©   (2006-03-06 14:32) [32]

umbra ©   (06.03.06 11:28) [29]
наоборот, для передачи данных IP протокол использует TCP


это вообще шедевр :)))

umbra, а вот мне интересно - с какой целью пишутся такие сообщения? Я очень сомневаюсь, что ты где-то прочитал то, что сказа. Значит, сам придумал.

А если придумал сам - почему с такой уверенностью преподносишь? Типа если прав - то прав, а если неправ - то собеседник в возмущении "Да как ты такое можешь говорить, ты не прав..." - и все тебе подробно расскажет, как оно на САМОМ деле?


 
tesseract ©   (2006-03-06 14:41) [33]


> Но непосредственно передаются в ИНТЕРНЕТЕ именно IP-пакеты.
>  

А в Интранете, что не IP ? :-)


 
Piter ©   (2006-03-06 15:39) [34]

tesseract ©   (06.03.06 14:41) [33]
А в Интранете, что не IP ? :-)


в интранете тоже могут быть применены интернет-технологии. И что?


 
tesseract ©   (2006-03-06 16:40) [35]


> в интранете тоже могут быть применены интернет-технологии.
>  И что?


Могут ;-))))))))  Интранет это когда ты между собой локалки через интренет объединяешь.

ЗЫ: Всё таки лучше приложиться глазами к "TCP/IP практическое руководство".


 
Piter ©   (2006-03-06 17:55) [36]

tesseract ©   (06.03.06 16:40) [35]
Интранет это когда ты между собой локалки через интренет объединяешь


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

Логика хорошая.

Проблема в том, что доказывать мне тебе ничего не надо. Ты сказал, я поправил.

Если ты хочешь думать, что вся цедь IP протокола - это ввести понятие IP-адреса - то ты волен так думать, сколько угодно.

Также как и umbra волен думать, что IP при передаче использует TCP.


 
umbra ©   (2006-03-06 19:27) [37]

2 Piter ©   (06.03.06 17:55) [36]


> что IP при передаче использует TCP.

интересно, а что же он использует? IP нужен для определения концов соединения. Это с таким же успехом могут быть MAC адреса. Но для передачи данных используется TCP. И в стеке протоколов IP указан как более абстрактный, чем TCP.

P.S. Я всегда стараюсь высказать свое мнение, существующее на момент разговора.


 
umbra ©   (2006-03-06 19:32) [38]

2 Piter ©

прошу прощения, я был не совсем прав


 
Piter ©   (2006-03-06 20:46) [39]

umbra ©   (06.03.06 19:32) [38]
прошу прощения, я был не совсем прав


гы... Как тонко :)

Я бы сказал, что ты был "совсем не прав" :)


 
tesseract ©   (2006-03-06 22:29) [40]


>  И в стеке протоколов IP указан как более абстрактный, чем
> TCP.


Не только TCP является транспортным протоколом, но и UPD. Ftp например использует UDP. Я про это с начала так и говорил.


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


Я чуши не говорил. И ловить ни кого ни на чём не собирался. По стандарту IP нужен именно для того, чтобы уходили к кому надо. Ты когда письмо бабушке в школе писал на конверет адрес почтовый указывал? Только не говори, что ты там в адресе приветы бабушке писал, тебя маршрутизатор в виде почтальонши не пропустил бы. Так вот конверт-IP, а само письмо в конверте - TCP/UDP :-)



Страницы: 1 2 вся ветка

Текущий архив: 2006.04.02;
Скачать: CL | DM;

Наверх




Память: 0.57 MB
Время: 0.052 c
2-1142407881
Ньюб2
2006-03-15 10:31
2006.04.02
Определить температуру проца


15-1141838657
Loginov Dmitry
2006-03-08 20:24
2006.04.02
Заморочка при разработке компонента


8-1130135852
Chaser
2005-10-24 10:37
2006.04.02
Как реализовать перетаскивание картинки мышью


2-1142872872
AlexLines
2006-03-20 19:41
2006.04.02
Что это за PrintDialog?


1-1141298498
Alex_C
2006-03-02 14:21
2006.04.02
Как узнать, зарегистрирован ли ActiveX компонент?