Модераторы: Snowy, Poseidon, MetalFan

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Мне надо написать программу, которая фильтровала, пакеты ... 
:(
    Опции темы
Monty
  Дата 20.10.2003, 22:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Advanced Lamer
****


Профиль
Группа: Участник Клуба
Сообщений: 3511
Регистрация: 3.4.2003
Где: Гваделупа

Репутация: нет
Всего: 27



но с чего начать не знаю ...... главная задача: поиск и справления содержимого пакета ..... допустим, байт FF заменять на 00 и т.д. ........... как это можно сделать notify.gif ....... в этом я не разбираюсь вообще и с сетью не имел дел в программировании smile.gif ........ да, она должна принимать с одного порта, а отправлять с другого уже обработанный пакет, пока только исходящии пакеты ............ я в этом 0, но это мне нужно smile.gif ........ помогите кто чем может ......


--------------------
...
О, вещая моя печаль,
О, тихая моя свобода
И неживого небосвода
Всегда смеющийся хрусталь!
PM MAIL ICQ   Вверх
Dmitry V.Abramov
Дата 20.10.2003, 23:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 177
Регистрация: 30.9.2003
Где: Saint-Petersburg

Репутация: нет
Всего: 4



Так в чем вопрос то? Какая сеть? Какой протокол? Формат пакета?
--------------------
/DVA
PM MAIL WWW   Вверх
Baa
Дата 21.10.2003, 01:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 2639
Регистрация: 12.4.2002
Где: Москва

Репутация: нет
Всего: 12



Так а в чем проблема? если приходят на один порт, а должны уходить с другого... с виду вообще плевое дело... открой самые простые исходники клиент-серверных приложений и посмори, как это делается.


--------------------
"Duty is everything; the greatest of joys, the deepest of sorrows" Aribeth de Tylmarande
PM ICQ   Вверх
Monty
Дата 21.10.2003, 03:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Advanced Lamer
****


Профиль
Группа: Участник Клуба
Сообщений: 3511
Регистрация: 3.4.2003
Где: Гваделупа

Репутация: нет
Всего: 27



Цитата(Dmitry @ 20.10.2003, 22:51)
Так в чем вопрос то? Какая сеть? Какой протокол? Формат пакета?

Нужен пример как сделать перенаправление с одного порта на другой, при этом обрабатывать данные
Сеть можно считать LAN
Протокол TCP и нужен будет UDP
Формат пакета любой ........ а заголовки пакета изменять возможно? Так как это тоже может понадобится smile.gif

Baa таких исходников у меня нет smile.gif

Это сообщение отредактировал(а) Monty - 21.10.2003, 03:19


--------------------
...
О, вещая моя печаль,
О, тихая моя свобода
И неживого небосвода
Всегда смеющийся хрусталь!
PM MAIL ICQ   Вверх
Dmitry V.Abramov
Дата 21.10.2003, 03:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 177
Регистрация: 30.9.2003
Где: Saint-Petersburg

Репутация: нет
Всего: 4



Baa А если речь о пакетах TCP, UDP, ARP, IPX, или что там еще может по сети летать... Вдруг человека заставили писать маршрутизатор? Тогда еще встанет задача работы с несколькими сетевыми интерфейсами. Вобщем, почти бесконечная тема при данной постановке "вопроса".
--------------------
/DVA
PM MAIL WWW   Вверх
Monty
Дата 21.10.2003, 03:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Advanced Lamer
****


Профиль
Группа: Участник Клуба
Сообщений: 3511
Регистрация: 3.4.2003
Где: Гваделупа

Репутация: нет
Всего: 27



Dmitry V.Abramov это я для себя smile.gif ........ нужно только TCP и UDP, при этом полность контролировать пакеты, т.е. не только следить за его содержимым, но и за заголовком smile.gif

Есть программы похожие как CommView, Iris Network Analiser и т.д. ...... они позволяют отлавливать пакеты и редактировать их, в том числе и заголоки ........ мне всего лишь надо фильтровать их, можно сказать "налету" smile.gif ..... получая с одного порта, обработывать его (по одному пакету), после чего отсылать .......


--------------------
...
О, вещая моя печаль,
О, тихая моя свобода
И неживого небосвода
Всегда смеющийся хрусталь!
PM MAIL ICQ   Вверх
Dmitry V.Abramov
Дата 21.10.2003, 14:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 177
Регистрация: 30.9.2003
Где: Saint-Petersburg

Репутация: нет
Всего: 4



Цитата(Monty @ 21.10.2003, 03:45)
Dmitry V.Abramov это я для себя smile.gif ........ нужно только TCP и UDP, при этом полность контролировать пакеты, т.е. не только следить за его содержимым, но и за заголовком smile.gif

Это еще терпимо... Главная проблема, пробраться почти на самый нижний уровень TCP-стека, решается с помощью SDK от WinPCap. Остальное - написанием оптимального и очень быстрого кода.
--------------------
/DVA
PM MAIL WWW   Вверх
Dayana
Дата 21.10.2003, 18:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник Клуба
Сообщений: 352
Регистрация: 6.10.2002
Где: Тель-Авив

Репутация: 1
Всего: 4



вот код, который я когда-то писала, используя TWSocket

попробуй что-то типа этого
Код

 UDPSocket  : TWSocket;

 UDPSocket := TWSocket.Create(nil);
 UDPSocket.Proto    := 'udp';
 UDPSocket.Addr     := '100.100.100.100';
 UDPSocket.Port      := 8888;
 UDPSocket.LocalPort := 8888;
 UDPSocket.OnDataAvailable := UDPSocketGetData;
 UDPSocket.Connect;

procedure UDPSocketGetData(Sender: TObject);
var
  vBuf    : array [0..4028] of char;
  BufLen  : Integer;
begin
....
   BufLen := UDPSocket.Receive(@vBuf, 4028);
....
end;


сейчас я модуль wsocket не нашла, хотя думала, что он входит в поставку Делфи... у меня есть wsocket.dcu... если хочешь, вышлю... И завтра поищу исходник...
PM MAIL ICQ   Вверх
Monty
Дата 21.10.2003, 19:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Advanced Lamer
****


Профиль
Группа: Участник Клуба
Сообщений: 3511
Регистрация: 3.4.2003
Где: Гваделупа

Репутация: нет
Всего: 27



Dayana спасибо .... уже что-то проясняется smile.gif ..... буду очень рад исходнику, а wsocket у меня есть smile.gif

Dmitry V.Abramov не знаю я С smile.gif ..... а там только на нем, а на Дельфи есть?


--------------------
...
О, вещая моя печаль,
О, тихая моя свобода
И неживого небосвода
Всегда смеющийся хрусталь!
PM MAIL ICQ   Вверх
Dayana
Дата 21.10.2003, 19:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник Клуба
Сообщений: 352
Регистрация: 6.10.2002
Где: Тель-Авив

Репутация: 1
Всего: 4



Monty, я имела ввиду исходник wsocket... :-)
PM MAIL ICQ   Вверх
Monty
Дата 21.10.2003, 19:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Advanced Lamer
****


Профиль
Группа: Участник Клуба
Сообщений: 3511
Регистрация: 3.4.2003
Где: Гваделупа

Репутация: нет
Всего: 27



Цитата(Dayana @ 21.10.2003, 18:10)
Monty, я имела ввиду исходник wsocket... :-)

Dayana оказывается его у меня нет smile.gif ..... перепутал с winsock smile.gif


--------------------
...
О, вещая моя печаль,
О, тихая моя свобода
И неживого небосвода
Всегда смеющийся хрусталь!
PM MAIL ICQ   Вверх
Dmitry V.Abramov
Дата 21.10.2003, 21:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 177
Регистрация: 30.9.2003
Где: Saint-Petersburg

Репутация: нет
Всего: 4



Цитата(Monty @ 21.10.2003, 19:06)
Dmitry V.Abramov не знаю я С smile.gif ..... а там только на нем, а на Дельфи есть?

"Врага нужно знать и уважать"... Врядли ты найдешь столь низкоуровневые сетевые вещи, писанные не на С. С другой стороны - там ведь есть готовые DLL! Уж в заголовочых файлах то можно разобрать набор параметров для 2,3,4 интересующих функций...


--------------------
/DVA
PM MAIL WWW   Вверх
Dmitry V.Abramov
Дата 21.10.2003, 21:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 177
Регистрация: 30.9.2003
Где: Saint-Petersburg

Репутация: нет
Всего: 4



Цитата(Dayana @ 21.10.2003, 18:35)
вот код, который я когда-то писала, используя TWSocket
...

Это стандартнейшая посылка UDP-message через Winsocket. Такое есть в любой библиотеке, не только в TWSocket от ICS (piette). TIdUDPClient/TIdUDPServer из Indy - ничем не хуже в этом плане. До пакетов же еще очень далеко.

Работа с сетевыми пакетами лежит гораздо глубже. Там уже нет сокетов. Там порты, заголовки, фреймы, очереди, лешие, водяные... Русалок пока не попадалось.
--------------------
/DVA
PM MAIL WWW   Вверх
Dayana
Дата 21.10.2003, 23:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник Клуба
Сообщений: 352
Регистрация: 6.10.2002
Где: Тель-Авив

Репутация: 1
Всего: 4



Dmitry V.Abramov, тем не менее, используя winsocket, я с успехом получаю каждый пакет и обрабатываю его....
PM MAIL ICQ   Вверх
Dayana
Дата 21.10.2003, 23:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник Клуба
Сообщений: 352
Регистрация: 6.10.2002
Где: Тель-Авив

Репутация: 1
Всего: 4



Или вот, открывает сокет на получение любых пакетов:

Код


uses WinSock;

   Port    : word;
   HostIP  : string;
   DestIP  : string;
   IpCount : integer;
   RcvPack  : array [0..MAX_PACK_SIZE - 1] of char;
   vWSAData : TWSAData;
   S        : TSocket;
   SockAddr : TSockAddrIn;
   PackLen  : integer;


 FillChar(RcvPack, MAX_PACK_SIZE, #0);
 WSAStartUp(MakeWord(2,2), vWSAData);
 S := Socket(AF_INET, SOCK_RAW, IPPROTO_IP);
 SockAddr.sin_family := AF_INET;
 SockAddr.sin_port := htons(Port);
 SockAddr.sin_addr.S_un_b.s_b1 := IPToBytesByNum(HostIP, 1);
 SockAddr.sin_addr.S_un_b.s_b2 := IPToBytesByNum(HostIP, 2);
 SockAddr.sin_addr.S_un_b.s_b3 := IPToBytesByNum(HostIP, 3);
 SockAddr.sin_addr.S_un_b.s_b4 := IPToBytesByNum(HostIP, 4);
 try
   Bind(S, SockAddr, SizeOf(SockAddr));
   Flag := 1;
   ioctlsocket(S, SIO_RCVALL, Flag);
 except
   CloseSocket(S);
   WSACleanUp;
   Result := -1;
 end;
 Result := 0;

читать пакеты:
     PackLen := recv(S, RcvPack, MAX_PACK_SIZE, 0);


это уже на низком уровне...

Это сообщение отредактировал(а) Dayana - 21.10.2003, 23:15
PM MAIL ICQ   Вверх
Dmitry V.Abramov
Дата 22.10.2003, 00:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 177
Регистрация: 30.9.2003
Где: Saint-Petersburg

Репутация: нет
Всего: 4



Dayana ... Сокеты никогда не были "низким уровнем", ибо изначально задуманы для его сокрытия.

Как бы эдак заполнить TSockAddrIn, чтобы послать пакет с адресом соседа в поле sin_addr? smile.gif А подсунуть в него не мой MAC address? А послать popup message на компьютер в smb сети? А если он в другом сегменте? И еще много таких каков...

Может вас смущают названия переменных RcvPack и PackLen ? Назовите их RcvMsg и MsgeLen. Или RcvBuffer и BufferLen. Так будет гораздо ближе к их настоящей роли в формировании сетевого пакета.
--------------------
/DVA
PM MAIL WWW   Вверх
Dmitry V.Abramov
Дата 22.10.2003, 00:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 177
Регистрация: 30.9.2003
Где: Saint-Petersburg

Репутация: нет
Всего: 4



Цитата(Dayana @ 21.10.2003, 23:00)
Dmitry V.Abramov, тем не менее, используя winsocket, я с успехом получаю каждый пакет и обрабатываю его....

Безусловно! Но все его поля вам не доступны. Лишь пользовательские данные и немного адресных.

Вы сможете с помощью winsock отправить от себя ping на одну машину, но чтобы echo та послала на другую (не на ту, откуда уходил ping)? Вопрос риторический...

Видимо, все из-за несогласовавнной терминологии - в одни и те же слова мы вкладываем очень разный смысл. Еще хуже с этим обстоит дело в изначальном вопросе этого раздела...
--------------------
/DVA
PM MAIL WWW   Вверх
Monty
Дата 22.10.2003, 00:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Advanced Lamer
****


Профиль
Группа: Участник Клуба
Сообщений: 3511
Регистрация: 3.4.2003
Где: Гваделупа

Репутация: нет
Всего: 27



Все, я определился с программой smile.gif ........ нужно только фильтровать ту информацию которую несет в себе пакет .......... ну а позже буду подменивать IP Adress ...... но не сейчас smile.gif ..... сейчас бы хоть элементарную фильровку сделать бы smile.gif

Dayana спасибо smile.gif .... а как его отправить с другого порта? smile.gif

Dmitry V.Abramov ок, раберусь, но если не выйдет с WinSock wink.gif


--------------------
...
О, вещая моя печаль,
О, тихая моя свобода
И неживого небосвода
Всегда смеющийся хрусталь!
PM MAIL ICQ   Вверх
Monty
Дата 22.10.2003, 00:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Advanced Lamer
****


Профиль
Группа: Участник Клуба
Сообщений: 3511
Регистрация: 3.4.2003
Где: Гваделупа

Репутация: нет
Всего: 27



Не выходит с примером =\

Вот так выглядит пакет:
Код
0x0000   00 04 E2 79 6F D0 00 C0-9F 1B AE F5 08 00 45 00   ..?yo?.??.®?..E.
0x0010   00 25 1C 78 00 00 C8 11-62 1C C0 A8 02 13 D9 6B   .%.x..?.b.??..?k
0x0020   D8 0C 05 92 69 8A 00 11-CA A0 FF FF FF FF 72 75   ?..’i?..? ????ru
0x0030   6C 65 73                                          les

Мне нужно только изменить то что он несет ....... допустим, rules на bules :) ...... приняв его с порта 3000 и отослать его на удаленный сервер на порт 4000 :) ........ как то так

PS согласен что неправильно сформулировал вопрос в самом начале :) ......

Это сообщение отредактировал(а) Monty - 22.10.2003, 01:00


--------------------
...
О, вещая моя печаль,
О, тихая моя свобода
И неживого небосвода
Всегда смеющийся хрусталь!
PM MAIL ICQ   Вверх
Dmitry V.Abramov
Дата 22.10.2003, 01:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 177
Регистрация: 30.9.2003
Где: Saint-Petersburg

Репутация: нет
Всего: 4



Monty Ну так, а как был получен этот пакет - раскроешь страшную тайну? smile.gif Или нам опять строить предположения и спорить о значении терминов...

Можно, конечно, покопавшись вычислить чей это буффер, с какого адреса и на какой шел, и с какого на какой порт. Но проще спросить об этом автора.
--------------------
/DVA
PM MAIL WWW   Вверх
Dayana
Дата 22.10.2003, 10:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник Клуба
Сообщений: 352
Регистрация: 6.10.2002
Где: Тель-Авив

Репутация: 1
Всего: 4



Monty, на всякий случай, может быть что-то полезное вычитаешь здесь. Поищи в сети описание заголовка пакета. В нем зашит и порт, и мак адрес, и остальная инфа... А вообще я с помощью сниффера смотрела, какие байты, что содержат...
PM MAIL ICQ   Вверх
Monty
Дата 22.10.2003, 18:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Advanced Lamer
****


Профиль
Группа: Участник Клуба
Сообщений: 3511
Регистрация: 3.4.2003
Где: Гваделупа

Репутация: нет
Всего: 27



Пакет я с помощью снифера получил smile.gif ...... но писать снеффир мне не надо smile.gif ..... надо лишь менять содержимое пакета .......

Dmitry V.Abramov
user posted image

PS программа с таким кодом замирает тут же не открыв порта
Код
var
 RcvPack : array [0..8024] of char;
 AddrSour : TSockAddr;
 i : integer;
 PackLen : integer;
 vWSAData : TWSAData;
 S : TSocket;
 SockAddr : TSockAddrIn;
 HostName : array[0..128] of char;
 pLocHost : PHostEnt;
 Flag : u_long;

begin
 FillChar(RcvPack, 8024, #0);
 GetHostName(HostName, 129);
 pLocHost := GetHostByName(HostName);
 WSAStartUp(MakeWord(2,2), vWSAData);
 S := Socket(AF_INET, SOCK_RAW, IPPROTO_IP);
 SockAddr.sin_family := AF_INET;
 SockAddr.sin_port := htons(5003);
 SockAddr.sin_addr.S_un_b.s_b1 := #127;
 SockAddr.sin_addr.S_un_b.s_b2 := #0;
 SockAddr.sin_addr.S_un_b.s_b3 := #0;
 SockAddr.sin_addr.S_un_b.s_b4 := #1;
 Bind(S, SockAddr, SizeOf(SockAddr));
 Flag := 1;
 ioctlsocket(S, SIO_RCVALL, Flag);
 for i := 1 to 10 do
   PackLen := recv(S, RcvPack, 8024, 0);
 CloseSocket(S);
end;


Это сообщение отредактировал(а) Monty - 22.10.2003, 18:26


--------------------
...
О, вещая моя печаль,
О, тихая моя свобода
И неживого небосвода
Всегда смеющийся хрусталь!
PM MAIL ICQ   Вверх
Monty
Дата 22.10.2003, 18:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Advanced Lamer
****


Профиль
Группа: Участник Клуба
Сообщений: 3511
Регистрация: 3.4.2003
Где: Гваделупа

Репутация: нет
Всего: 27



Dayana я нашел тот компонент который ты использовала smile.gif .... надо было мне сразу в яндекс зайти ....

http://overbyte.delphicenter.com/frame_index.html


--------------------
...
О, вещая моя печаль,
О, тихая моя свобода
И неживого небосвода
Всегда смеющийся хрусталь!
PM MAIL ICQ   Вверх
Dayana
Дата 22.10.2003, 21:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник Клуба
Сообщений: 352
Регистрация: 6.10.2002
Где: Тель-Авив

Репутация: 1
Всего: 4



Monty, точно... я же оттуда его брала... Ну у тебя получилось?
PM MAIL ICQ   Вверх
Monty
Дата 22.10.2003, 21:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Advanced Lamer
****


Профиль
Группа: Участник Клуба
Сообщений: 3511
Регистрация: 3.4.2003
Где: Гваделупа

Репутация: нет
Всего: 27



Цитата(Dayana @ 22.10.2003, 20:15)
Monty, точно... я же оттуда его брала... Ну у тебя получилось?

Все демосы там работают .... пока буду сам разбиратся .... спасибо smile.gif

PS там нашел еще пару нужных компонентов которые я искал долго smile.gif

Добавленно:
Просто появилась еще одна проблемма .... у той программы что я хотел перенапрявлять пакеты не фиксированый порт mad.gif ...... даже проверить не могу, но это уже я сам smile.gif

Это сообщение отредактировал(а) Monty - 22.10.2003, 21:25


--------------------
...
О, вещая моя печаль,
О, тихая моя свобода
И неживого небосвода
Всегда смеющийся хрусталь!
PM MAIL ICQ   Вверх
Dmitry V.Abramov
Дата 22.10.2003, 22:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 177
Регистрация: 30.9.2003
Где: Saint-Petersburg

Репутация: нет
Всего: 4



Цитата(Monty @ 22.10.2003, 18:26)
Dmitry V.Abramov
PS программа с таким кодом замирает тут же не открыв порта
Код
var
 RcvPack : array [0..8024] of char;
 AddrSour : TSockAddr;
 i : integer;
 PackLen : integer;
 vWSAData : TWSAData;
 S : TSocket;
 SockAddr : TSockAddrIn;
 HostName : array[0..128] of char;
 pLocHost : PHostEnt;
 Flag : u_long;

begin
 FillChar(RcvPack, 8024, #0);
 GetHostName(HostName, 129);
 pLocHost := GetHostByName(HostName);
 WSAStartUp(MakeWord(2,2), vWSAData);
 S := Socket(AF_INET, SOCK_RAW, IPPROTO_IP);
 SockAddr.sin_family := AF_INET;
 SockAddr.sin_port := htons(5003);
 SockAddr.sin_addr.S_un_b.s_b1 := #127;
 SockAddr.sin_addr.S_un_b.s_b2 := #0;
 SockAddr.sin_addr.S_un_b.s_b3 := #0;
 SockAddr.sin_addr.S_un_b.s_b4 := #1;
 Bind(S, SockAddr, SizeOf(SockAddr));
 Flag := 1;
 ioctlsocket(S, SIO_RCVALL, Flag);
 for i := 1 to 10 do
   PackLen := recv(S, RcvPack, 8024, 0);
 CloseSocket(S);
end;

О каком порте речь в подслушивающем режиме? Порт - это всего лишь 2 байта в заголовке. К тебе же начинают валить все заголовки сразу.

Не замирает, а внимательно слушает smile.gif
У тебя, видимо, ничего не происходит по адресу 127.0.0.1. Попробуй, например, ping 127.0.0.1

А еще - SIO_RCVALL работает только в win2000 и выше. У тебя не Win9x?

Кстати, GetHostName/GetHostByName раньше было принято вызывать строго после WSAStartUp.
--------------------
/DVA
PM MAIL WWW   Вверх
Dmitry V.Abramov
Дата 22.10.2003, 23:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 177
Регистрация: 30.9.2003
Где: Saint-Petersburg

Репутация: нет
Всего: 4



Цитата(Dayana @ 21.10.2003, 23:12)
Код
...
   ioctlsocket(S, SIO_RCVALL, Flag);
...


это уже на низком уровне...

Либо не заметил вот этой строчки, либо она появилась после "Это сообщение отредактировал Dayana - 21.10.2003, 23:15 " ;)

Если не заметил, то виноват и отзываю последующие затем хихикания. Тогда зацепился вот за это:
Код
SockAddr.sin_port := htons(Port);
- в promiscuous mode нет понятия "порт". Эту строчку можно выкинуть.

Вот только работать это будет лишь начиная с win2000. И не совместимо с программированием юниксных сокетов. Последнее может быть не важно. А вот первое...

Это сообщение отредактировал(а) Dmitry V.Abramov - 22.10.2003, 23:04
--------------------
/DVA
PM MAIL WWW   Вверх
Baa
Дата 23.10.2003, 00:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 2639
Регистрация: 12.4.2002
Где: Москва

Репутация: нет
Всего: 12



Цитата
У тебя, видимо, ничего не происходит по адресу 127.0.0.1. Попробуй, например, ping 127.0.0.1

Вы прикалываетесь чтоли? енто ж loopback... ping localhost = тест сетевой карты...


--------------------
"Duty is everything; the greatest of joys, the deepest of sorrows" Aribeth de Tylmarande
PM ICQ   Вверх
Dmitry V.Abramov
Дата 23.10.2003, 02:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 177
Регистрация: 30.9.2003
Где: Saint-Petersburg

Репутация: нет
Всего: 4



Цитата(Baa @ 23.10.2003, 00:54)
Цитата
У тебя, видимо, ничего не происходит по адресу 127.0.0.1. Попробуй, например, ping 127.0.0.1

Вы прикалываетесь чтоли? енто ж loopback... ping localhost = тест сетевой карты...

Нужно создать поток сетевых пакетов. Чем плох пинг в этом случае? Тем что шлет ICMP? Так ведь снифферу что там летает.

А вот сетевую карту я бы не стал тестировать пингами на 127.0.0.1... smile.gif
--------------------
/DVA
PM MAIL WWW   Вверх
Monty
  Дата 23.10.2003, 05:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Advanced Lamer
****


Профиль
Группа: Участник Клуба
Сообщений: 3511
Регистрация: 3.4.2003
Где: Гваделупа

Репутация: нет
Всего: 27



Не выходит у меня с компонентами smile.gif ........ как можно сделать прием с одного порта и отправку на другой порт при этом его не трогать (сам пакет) .... как бы перенапрявляя с одного порта на другой ...... используя TWSocket? confused.gif ................ неее .... не в ладах я с этим sad.gif ...... можно рабочий код? если это не трудно smile.gif


--------------------
...
О, вещая моя печаль,
О, тихая моя свобода
И неживого небосвода
Всегда смеющийся хрусталь!
PM MAIL ICQ   Вверх
Страницы: (2) [Все] 1 2 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Сети"
Snowy
Poseidon
MetalFan

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делится вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи

Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Snowy, Poseidon, MetalFan.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Сети | Следующая тема »


 




[ Время генерации скрипта: 0.1438 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.