Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Сниффер

4.8K
20 октября 2005 года
xm...
45 / / 20.11.2004
Проблема такова:
запускаем сниффер, потом запускаем какую-нибудь прогу, кот. работает через интернет, поработаем в ней немножко, что-нить поотсылаем-примем. Отключаем прогу и сниффер. Смотрим лог сниффера, а там! Там почему-то видны только те пакеты, кот. приходили на мой компьютер, а те, которые я отсылал в сеть, сниффер почему-то не отлавливал. Интернет идет через модем (когда нэт был через локалку, всё было отлично, были видны и исходящие, и отправленные пакеты).
Вопрос: каким образом мне получить IP-пакеты, которые отправляются с моего компьютера в интернет?
7.6K
20 октября 2005 года
Helicopterr
50 / / 21.08.2005
Извини, я не знаю. Хочу спросить что такое сниффер?
А то был такой вирус.
299
20 октября 2005 года
3D Bob
885 / / 18.04.2005
Цитата:
Originally posted by Helicopterr
Извини, я не знаю. Хочу спросить что такое сниффер?
А то был такой вирус.


Снифер - программа, отлавливающая чужой трафик.

2
21 октября 2005 года
squirL
5.6K / / 13.08.2003
Цитата:
Originally posted by xm...
Проблема такова:
запускаем сниффер, потом запускаем какую-нибудь прогу, кот. работает через интернет, поработаем в ней немножко, что-нить поотсылаем-примем. Отключаем прогу и сниффер. Смотрим лог сниффера, а там! Там почему-то видны только те пакеты, кот. приходили на мой компьютер, а те, которые я отсылал в сеть, сниффер почему-то не отлавливал. Интернет идет через модем (когда нэт был через локалку, всё было отлично, были видны и исходящие, и отправленные пакеты).
Вопрос: каким образом мне получить IP-пакеты, которые отправляются с моего компьютера в интернет?


телепаты уволились, поэтому придется тебе сказать какой именно у тебя сниффер.

4.8K
22 октября 2005 года
xm...
45 / / 20.11.2004
Цитата:
Originally posted by squirL
телепаты уволились, поэтому придется тебе сказать какой именно у тебя сниффер.


Что тут телепатировать?
Сниффер, ловит IP пакеты, разбирает их заголовки - это ж ясное дело, и пишет содержимое пакета (то бишь, данные) в лог-файл. А от того, что я скажу, что этот сниффер записывает в лог-файл только те пакеты, кот. идут через 21 порт, что изменится?? От протокола (FTP, POP3 или еще что-то основанное на TCP) и порта здесь ничего не зависит, они ж все выше IP.
Вопрос какой был, почему пакеты, отсылаемые моим компьютером в интернет не отлавливаются сниффером, а те, которые приходят ко мне - отлавливаются.

406
22 октября 2005 года
vitaly2003s
481 / / 27.07.2004
Цитата:
Originally posted by xm...
Что тут телепатировать?
Сниффер, ловит IP пакеты, разбирает их заголовки - это ж ясное дело, и пишет содержимое пакета (то бишь, данные) в лог-файл. А от того, что я скажу, что этот сниффер записывает в лог-файл только те пакеты, кот. идут через 21 порт, что изменится?? От протокола (FTP, POP3 или еще что-то основанное на TCP) и порта здесь ничего не зависит, они ж все выше IP.
Вопрос какой был, почему пакеты, отсылаемые моим компьютером в интернет не отлавливаются сниффером, а те, которые приходят ко мне - отлавливаются.


Послушай тебе вроде ясно задали вопрос как называется твой сниффер? Или он был сделан лично тобой?

4.8K
22 октября 2005 года
xm...
45 / / 20.11.2004
Ну а стал бы я задавать вопрос на этом форуме, если б не сам написал сниффер на Visual C++.
406
22 октября 2005 года
vitaly2003s
481 / / 27.07.2004
Цитата:
Originally posted by xm...
Ну а стал бы я задавать вопрос на этом форуме, если б не сам написал сниффер на Visual C++.


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

4.8K
22 октября 2005 года
xm...
45 / / 20.11.2004
Да черт, чёто я сморозил, надо было сразу написать.
Код:
#define MAX_PACKET_SIZE 0x10000

static char buffer[MAX_PACKET_SIZE];

int main()
{
    WSADATA wsadata;
    SOCKET s;
    char name[128];
    HOSTENT* hostent;
    sockaddr_in addr;
    unsigned long flag = 1;
    int code, iplen, tcplen, datalen;
    IPHeader* ip;
    TCPHeader* tcp;
    ofstream logf;

    logf.open("log.txt");
    WSAStartup(MAKEWORD(2, 0), &wsadata);
    s = socket(AF_INET, SOCK_RAW, IPPROTO_IP);
    gethostname(name, sizeof(name));
    hostent = gethostbyname(name);
    addr.sin_family = AF_INET;
    addr.sin_addr.s_addr = ((struct in_addr *)hostent->h_addr_list[0])->s_addr;
    bind(s, (sockaddr *)&addr, sizeof(addr));
    ioctlsocket(s, SIO_RCVALL, &flag);
    while (1) {
        code = recv(s, buffer, sizeof(buffer), 0);
        if (code == SOCKET_ERROR) break;
        if (code > 0) {
            ip = (IPHeader *)buffer;
            iplen = 4 * (ip->verlen & 0x0f);
            tcp = (TCPHeader * &buffer[iplen];
            tcplen = (4 * tcp->hdrle);
            logf << "\n\nData\n";
            logf.write(&buffer[iplen+tcplen], code-iplen-tcplen);
            logf.flush();
        }
    }
    logf.close();
    closesocket(s);
    WSACleanup();
    return 0;
}


Вот, если например, запустить асю, то в лог файле остаются почему-то только те пакеты, кот. ася принимала, а те, которые уходили с моими сообщениями в лог не попадали, т.е. сниффер их не ловил. Может какие опции еще дополнительные надо поставить у сокета?
2
23 октября 2005 года
squirL
5.6K / / 13.08.2003
по поводу - почему не слушает модемное соединение. видимо, когда идет привязка слушающего сокета к интерфейсам, ppp интерфейс еще не поднят. указывай в качестве интерфейса к которому идет привязка - INADDR_ANY.
далее. разочарую - это у тебя не сниффер. уж извини. RAW_SOCKET - не есть сниффер. я не знаю, что он у тебя извлекает, но это 100% не то что должен извлекать реальный сниффер.
RAW_SOCKET позволяет получить доступ к ICMP и IGMP траффику. а вот необработанные TCP/UDP/IP заголовки туда не попадают.
4.8K
23 октября 2005 года
xm...
45 / / 20.11.2004
Не надо, я чтож, слепой? запускаю The Bat!, проверяю почту, в лог файле следующее:
Код:
Data:
 n
”Bу¦ђ`Pд Y#  +OK Hello there.

Data:
 n
”B¦ђrPд <k  +OK Password required.

Data:
 n
”B¦ђ~Pд ф  +OK logged in.

Data:
 n
”B-¦ђ„Pд ВС  +OK 2 13480510

Data:
 n
”B=¦ђЉPд Ќх  +OK POP3 clients that break here, they violate STD53.

Как видим прога общается с POP3 сервером, причем в логе только ответы сервера, а запросы The Bat! в лог не попали.
Или вы хотите сказать, что работа с почтой осуществляется по ICMP протоколу??? В таком случае ни черта не знаете (или я настолько уверен в своей неправоте?). POP3 базируется на TCP. И после этого вы мне говорите, что он не ловит TCP пакеты (правильнее будет сказать - сегменты).

На счет INADDR_ANY - сокет биндится с ошибкой.
2
24 октября 2005 года
squirL
5.6K / / 13.08.2003
Цитата:
Originally posted by xm...

Как видим прога общается с POP3 сервером, причем в логе только ответы сервера, а запросы The Bat! в лог не попали.
На счет INADDR_ANY - сокет биндится с ошибкой.


извините, был неправ. информация слегка устарела :)

а что за ошибка?

4.8K
24 октября 2005 года
xm...
45 / / 20.11.2004
ошибка точнее, не при бинде, а при установлении режима SIO_RCVALL для сокета. Ошибка номер 10022 "Неверный аргумент". Из справки: INADDDR_ANY не катит, т.к. сокет при установлении SIO_RCVALL должен быть привязан к текущему интерфейсу, т.е. адресу локального компьютера.
2
24 октября 2005 года
squirL
5.6K / / 13.08.2003
Цитата:
Originally posted by xm...
ошибка точнее, не при бинде, а при установлении режима SIO_RCVALL для сокета. Ошибка номер 10022 "Неверный аргумент". Из справки: INADDDR_ANY не катит, т.к. сокет при установлении SIO_RCVALL должен быть привязан к текущему интерфейсу, т.е. адресу локального компьютера.


а если попробовать привязывать после установки модемного соединения? явно к двум интерфейсам?

4.8K
24 октября 2005 года
xm...
45 / / 20.11.2004
Т.е. записать в addr адрес, который получен при модемном соединении? пробовал, то же самое получается. При этом я даже локалку отключал, чтоб она не мешала.
8.7K
28 октября 2005 года
Rubicon
55 / / 28.10.2005
хм... Возможно я малость торможу, но... как ты собираешься получать содержимое ОТПРАВЛЯЕМЫХ через RECV(...)??? Если я не прав, объясните пожалуйста!
4.8K
30 октября 2005 года
xm...
45 / / 20.11.2004
В этом есть логика. Но самое интересное, этот recv ловит отправляемые пакеты, когда я работаю в локальной сети.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог