Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2006.04.02;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.55 MB
Время: 1.285 c
2-1142841686
Dest81
2006-03-20 11:01
2006.04.02
TBdgrid


2-1142955037
имя
2006-03-21 18:30
2006.04.02
ListBox


1-1141017040
Димон
2006-02-27 08:10
2006.04.02
Отправить на печать все строки TMemo


9-1127639612
D@rk
2005-09-25 13:13
2006.04.02
Directdraw help


15-1142127014
Бугага
2006-03-12 04:30
2006.04.02
Расчет количества дней между двумя датами





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский