Модераторы: marykone
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> генерация пакетов 
:(
    Опции темы
GrayCardinal
Дата 13.5.2011, 11:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Фигасе
****


Профиль
Группа: Завсегдатай
Сообщений: 3039
Регистрация: 9.11.2003

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



Доброго времени суток !
У меня появилось желание самостоятельно генерировать некоторые пакеты вообще и пакеты DNS в частности (имеется в виду то, что принадлежит стеку TCP/IP). Не подскажете что (какие программные средства) для этого лучше использовать ?

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

У меня Linux.
Всегда ваш,
Олег.


--------------------
PM MAIL WWW   Вверх
500mhz
  Дата 13.5.2011, 12:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


шайтан
***


Профиль
Группа: Завсегдатай
Сообщений: 1017
Регистрация: 5.5.2008
Где: Киев / Italy

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



raw socket


--------------------

PM MAIL ICQ   Вверх
GrayCardinal
Дата 13.5.2011, 12:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Фигасе
****


Профиль
Группа: Завсегдатай
Сообщений: 3039
Регистрация: 9.11.2003

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



500mhz
Это, извиняюсь, для отправки. Мне надо именно генерировать и потом сохранять (в памяти, на диск).


--------------------
PM MAIL WWW   Вверх
Secandr
Дата 13.5.2011, 15:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Связист
****


Профиль
Группа: Экс. модератор
Сообщений: 4043
Регистрация: 3.8.2003
Где: Russia, Volgograd

Репутация: 8
Всего: 39



raw socket и tcpdump


--------------------
Мышки плакали, кололись, но продолжали жрать кактусы (с) cisco
PM ICQ AOL   Вверх
GrayCardinal
Дата 13.5.2011, 15:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Фигасе
****


Профиль
Группа: Завсегдатай
Сообщений: 3039
Регистрация: 9.11.2003

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



Secandr
Не совсем понял как их использовать ? Можно чуть подробнее ? Спасибо.


--------------------
PM MAIL WWW   Вверх
Secandr
Дата 13.5.2011, 16:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Связист
****


Профиль
Группа: Экс. модератор
Сообщений: 4043
Регистрация: 3.8.2003
Где: Russia, Volgograd

Репутация: 8
Всего: 39



GrayCardinal, для генерации трафика мы использовали scapy под линуксом

Пишешь скрипт по генерации трафика, пускаешь софтинку и она гадит нужными пакетами в нужный интерфейс

На этот интерфейс ставишь снифер tcpdump или wireshark и просишь их записать в файл.


Мы собирали стенд из коммутаторов и контролировали таким образом работу таблиц коммутации.

Вот код для scapy с форума длинка

Код

global vlans 
vlans = [200, 295, 501, 571, 652, 728, 1432, 1578, 1746, 1852] 


def ShootMac(m, v, n): 
   srcMAC = m[:-1].upper() 
   dstMAC = "00:55:AE:AE:14:11" 
   pkt = Ether(src=srcMAC, dst=dstMAC)/Dot1Q(vlan=v)/IP(src="10.90.90.89",dst="10.90.90.90")/Padding(load="X"*18) 
   print srcMAC + " " + str(n) 
   sendp(pkt, iface="eth6", verbose=0) 

def ShuffleMac(): 
   global usermacs 
   global managmacs 
   global vlans 
   random.shuffle(usermacs) 
   random.shuffle(managmacs) 

def LoadMac(): 
   f = open('/home/madgnu/usermacsclean.txt', 'r') 
   g = open('/home/madgnu/managmacsclean.txt', 'r') 
   global usermacs 
   global managmacs 
   usermacs = [line for line in f] 
   managmacs = [line for line in g] 
   print "Loaded " + str(len(managmacs)) + " ManagMacs" 
   print "Loaded " + str(len(usermacs))  + " UserMacs" 

def Go50(): 
   global usermacs 
   global managmacs 
   global vlans 
   ShuffleMac() 
   for i in xrange(20): 
      maci = managmacs[i] 
      ShootMac(maci, 930, i) 
   for j in xrange(1): 
      vlan = random.randint(0, 9); 
      ShuffleMac() 
      for i in xrange(50): 
         maci = usermacs[i] 
         ShootMac(maci, vlans[vlan], i) 

def Go100(): 
   global usermacs 
   global managmacs 
   global vlans 
   ShuffleMac() 
   vlan = random.randint(0, 9); 
   for i in xrange(40): 
      maci = managmacs[i] 
      ShootMac(maci, 930, i) 
   for j in xrange(1): 
      vlan = random.randint(0, 9); 
      ShuffleMac() 
      for i in xrange(100): 
         maci = usermacs[i] 
         ShootMac(maci, vlans[vlan], i) 

def Go250(): 
   global usermacs 
   global managmacs 
   global vlans 
   ShuffleMac() 
   vlan = random.randint(0, 9); 
   for i in xrange(70): 
      maci = managmacs[i] 
      ShootMac(maci, 930, i) 
   for j in xrange(2): 
      vlan = random.randint(0, 9); 
      ShuffleMac() 
      for i in xrange(125): 
         maci = usermacs[i] 
         ShootMac(maci, vlans[vlan], i) 


def Go500(): 
   global usermacs 
   global managmacs 
   global vlans 
   ShuffleMac() 
   vlan = random.randint(0, 9); 
   for i in xrange(100): 
      maci = managmacs[i] 
      ShootMac(maci, 930, i) 
   for j in xrange(5): 
      vlan = random.randint(0, 9); 
      ShuffleMac() 
      for i in xrange(100): 
         maci = usermacs[i] 
         ShootMac(maci, vlans[vlan], i) 

def Go1000(): 
   global usermacs 
   global managmacs 
   global vlans 
   ShuffleMac() 
   vlan = random.randint(0, 9); 
   for i in xrange(125): 
      maci = managmacs[i] 
      ShootMac(maci, 930, i) 
   for j in xrange(10): 
      vlan = random.randint(0, 9); 
      ShuffleMac() 
      for i in xrange(100): 
         maci = usermacs[i] 
         ShootMac(maci, vlans[vlan], i) 


def Go5000(): 
   global usermacs 
   global managmacs 
   global vlans 
   ShuffleMac() 
   vlan = random.randint(0, 9); 
   for i in xrange(125): 
      maci = managmacs[i] 
      ShootMac(maci, 930, i) 
   vlan = random.randint(0, 9); 
   ShuffleMac() 
   for i in xrange(2000): 
      maci = usermacs[i] 
      ShootMac(maci, vlans[vlan], i) 
   for j in xrange(10): 
      vlan = random.randint(0, 9); 
      ShuffleMac() 
      for i in xrange(300): 
         maci = usermacs[i] 
         ShootMac(maci, vlans[vlan], i) 

def Go5000a(): 
   global usermacs 
   global managmacs 
   global vlans 
   ShuffleMac() 
   vlan = random.randint(0, 9); 
   for i in xrange(5125): 
      maci = usermacs[i] 
      ShootMac(maci, vlans[vlan], i) 


LoadMac() 



--------------------
Мышки плакали, кололись, но продолжали жрать кактусы (с) cisco
PM ICQ AOL   Вверх
GrayCardinal
Дата 13.5.2011, 16:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Фигасе
****


Профиль
Группа: Завсегдатай
Сообщений: 3039
Регистрация: 9.11.2003

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



Secandr
Благодарю покорно ! Основные моменты понял !

С уважением,
Олег.


--------------------
PM MAIL WWW   Вверх
marykone
Дата 13.5.2011, 21:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2722
Регистрация: 2.5.2006
Где: Краснодар

Репутация: 24
Всего: 67



iperf or jperf, что угодней для души, ну и в разнообразие (просто генерация трафика как правило применяется для измерения ширины канала) к scapy.


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

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


 




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


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

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