Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 13.11.2014, 11:37   #1
swani013
Новичок
Джуниор
 
Регистрация: 13.11.2014
Сообщений: 2
По умолчанию Сервер под linux

Стоит такая задача:
написать сервак, который должен у принятых пакетов
1. Снять все хедеры до IP-хедера
2. На IP-хэдер наложить маску (структуру заголовка IP-пакета)
3. Получить из этого заголовка IPDest, IPSource и вывести их на экран

Пытаюсь принимать пакеты через int sock = socket(AF_INET, SOCK_RAW, IPPROTO_TCP);
,но не представляю как выполнить эти три пункта(

Подскажите пожалуйста как грамотнее реализовать, что использовать, куда смотреть?
Язык С/С++ (лучше с++)
swani013 вне форума Ответить с цитированием
Старый 13.11.2014, 12:28   #2
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,709
По умолчанию

Вам же надо до айпи стека опустится, а вы грите прото_тцп
p51x вне форума Ответить с цитированием
Старый 13.11.2014, 17:50   #3
swani013
Новичок
Джуниор
 
Регистрация: 13.11.2014
Сообщений: 2
По умолчанию

Цитата:
Сообщение от p51x Посмотреть сообщение
Вам же надо до айпи стека опустится, а вы грите прото_тцп
Как надо тогда? IPPROTO_RAW вроде как только отправлять может
swani013 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Процесс-клиент отправляет построчно файл серверу. Сервер выводит полученные датаграммы на экран / С под Linux Nickolay0512 C/C++ Сетевое программирование 0 29.03.2014 06:08
SMTP сервер на Linux veter48 Помощь студентам 2 13.02.2014 11:10
БД под Linux CHESNOK Linux (Ubuntu, Debian, Red Hat, CentOS, Mint) 5 29.11.2013 00:16
Сервер на ОС Linux valerij Безопасность, Шифрование 1 15.03.2010 07:26