Вернуться   CoderX :: Forums > Основные форумы > Программинг
Войти через OpenID

Программинг Форум для тем связанных с программированием

Чат (Новых сообщений с момента вашего последнего визита нет)
Загрузка...
Задавайте ваши вопросы на форуме. Чат предназначен для небольших разговоров.
 
Ответ
 
Опции темы Опции просмотра
Старый 29.01.2013, 18:50   #1
Новичок
 
Регистрация: 29.01.2013
Сообщений: 4
Сказал Спасибо: 0
Имеет 5 спасибок в 2 сообщенях
ks_ пока неопределено
По умолчанию Перехват пакетов используя NAT

Хотелось бы описать способ перехвата пакетов использующий linux ОС.
Чем то похоже на эту тему. С той разницей, что там используется Windows, KerioWinRouteFireWall и L2PacketHack. Здесь Linux(в нем iptables) и самописный приемник. Пример делал для РПГ-клаба, структуры пакетов взял из ini l2PH.

Прописываем гейтвей(вместо роутера, тот что в доме, на IP адрес виртуальной машины). или в моем случаем просто прописаны маршруты с меньшей метрикой.



Прописываем форвардинг NAT в iptables. Теперь пришедшие пакеты, будут идти на localhost на соответствующий порт.



Запускаем приемник.


s_UserInfo: b't\x00e\x00s\x00t\x00d\x00s\x00a\x00f\x00a\x00s\x 00d\x00f'
Видно, что соединение установлено.
ks_ вне форума   Ответить с цитированием
За это сообщение ks_ нажился 3 спасибками от:
Старый 29.01.2013, 20:50   #2
Местный
 
Аватар для St1mul
 
Регистрация: 03.12.2011
Сообщений: 133
Сказал Спасибо: 63
Имеет 19 спасибок в 16 сообщенях
St1mul пока неопределено
По умолчанию

я что то не догоняю как они у тебя расшифрованными становятся?
St1mul вне форума   Ответить с цитированием
Старый 29.01.2013, 21:07   #3
Новичок
 
Регистрация: 29.01.2013
Сообщений: 4
Сказал Спасибо: 0
Имеет 5 спасибок в 2 сообщенях
ks_ пока неопределено
По умолчанию

Цитата:
Сообщение от St1mul Посмотреть сообщение
я что то не догоняю как они у тебя расшифрованными становятся?
структуры пакетов взял из ini l2PH. Написал код, который переводит ини файлы в классы python, создающие структуры dtype для numpy(библиотека для пайтона)

Последний раз редактировалось ks_, 29.01.2013 в 21:11.
ks_ вне форума   Ответить с цитированием
Старый 30.01.2013, 11:37   #4
Местный
 
Регистрация: 08.03.2011
Сообщений: 236
Сказал Спасибо: 31
Имеет 73 спасибок в 30 сообщенях
lamo386 пока неопределено
По умолчанию

ks_, интересно было бы взглянуть на питон код -))
lamo386 вне форума   Ответить с цитированием
Старый 30.01.2013, 21:35   #5
Новичок
 
Регистрация: 29.01.2013
Сообщений: 4
Сказал Спасибо: 0
Имеет 5 спасибок в 2 сообщенях
ks_ пока неопределено
По умолчанию

https://github.com/yv84/pyph/

Устанавливаем numpy, lxml:
sudo apt-get install python3-numpy
sudo apt-get install python3-setuptools
sudo apt-get install python3-dev
sudo apt-get install libxml2-dev
sudo apt-get install libxslt1-dev
sudo easy_install3 lxml
ks_ вне форума   Ответить с цитированием
За это сообщение ks_ нажился 2 спасибками от:
Старый 31.01.2013, 02:05   #6
Местный
 
Регистрация: 08.03.2011
Сообщений: 236
Сказал Спасибо: 31
Имеет 73 спасибок в 30 сообщенях
lamo386 пока неопределено
По умолчанию

мельком глянул код, сколько на это ушло времени ?
бросилось в глаза...
Цитата:
Код:
  def t_pck(self,x):   #binascii.b2a_hex(data)
   x= struct.unpack('B'* len(x), x)
   y=[]
   for i in range(len(x)):
    y.append(hex(x[i]))
   z = (" ".join(y).replace('0x', ' ')+' ')
   z = z.replace(' 0 ',' 00 ')
   z = z.replace(' 1 ',' 01 ')
   z = z.replace(' 2 ',' 02 ')
   z = z.replace(' 3 ',' 03 ')
   z = z.replace(' 4 ',' 04 ')
   z = z.replace(' 5 ',' 05 ')
   z = z.replace(' 6 ',' 06 ')
   z = z.replace(' 7 ',' 07 ')
   z = z.replace(' 8 ',' 08 ')
   z = z.replace(' 9 ',' 09 ')
   z = z.replace(' a ',' 0a ')
   z = z.replace(' b ',' 0b ')
   z = z.replace(' c ',' 0c ')
   z = z.replace(' d ',' 0d ')
   z = z.replace(' e ',' 0e ')
   z = z.replace(' f ',' 0f ')
   z = z.replace('  ',' ')
   return z
Код:
def t_pck(self, b_srt):
    return ' '.join(["%02X" %  x for x in b_str])
получим строку такого вида 91 EC 02 00 B9 EE F8 75 2C 2C BF 45 или "%02x" будут маленькие буквы

Последний раз редактировалось lamo386, 31.01.2013 в 02:12.
lamo386 вне форума   Ответить с цитированием
Старый 31.01.2013, 02:15   #7
Новичок
 
Регистрация: 29.01.2013
Сообщений: 4
Сказал Спасибо: 0
Имеет 5 спасибок в 2 сообщенях
ks_ пока неопределено
По умолчанию

Цитата:
Сообщение от lamo386 Посмотреть сообщение
мельком глянул код, сколько на это ушло времени ?
бросилось в глаза...


Код:
def t_pck(self, b_srt):
    return ' '.join(["%02X" %  x for x in b_str])
или "%02x" будут маленькие буквы
Несомненно твой вариант быстрее, там много чего можно оптимизировать, кроме того эта функция нигде не применяется.
Середина ноября первая строчка кода написана была, сколько часов писал не знаю.
ks_ вне форума   Ответить с цитированием
Ответ

  CoderX :: Forums > Основные форумы > Программинг



Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Часовой пояс GMT +4, время: 00:36.

vBulletin style designed by MSC Team.
Powered by vBulletin® Version 3.6.11
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Locations of visitors to this page
Rambler's Top100

Вы хотите чувствовать себя в безопасности? чоп Белган обеспечит её!