Каталог статей
Меню сайта


Форма входа


Категории раздела
Oracle DB [72]
Materials concerning Oracle database
Howto [24]
Все про Oracle [65]
Разработка на SQL и PL/SQL для Oracle, анализ работы базы
Построение Web-интерфейса: все что касается JSF, ADF и AJAX [9]
Разное [19]
Solaris [46]
Что касается администрирования Solaris
Linux [29]
Заметки по настройке Linux
AIX [1]
AIX, настройка Oracle на AIX
Java [15]
Cryptography [10]
Windows [1]
Java [35]
PostgreSQL [2]


Поиск


Друзья сайта
  • Официальный блог
  • Сообщество uCoz
  • FAQ по системе
  • Инструкции для uCoz


  • Статистика

    Онлайн всего: 1
    Гостей: 1
    Пользователей: 0


    Приветствую Вас, Гость · RSS 20.05.2024, 11:51
    Главная » Статьи » Solaris

    Примеры запуска snoop
    Материал взят отсюда:
    http://gorodovets.blogspot.com/2009/03/solaris-snoop.html


    Запускаем snoop c опцией вывода в файл:

    # snoop -o traff.snoop
    Using device /dev/bge0 (promiscuous mode)
    947 ^C

    Читаем файл:

    # snoop -i traff.snoop
    1 0.00000 onehost -> sechost TCP D=45945 S=22 Push Ack=2115280484 Seq=3528084879 Len=48 Win=49232 ..
    2 0.00034 sechost -> onehost TCP D=22 S=45945 Ack=3528084927 Seq=2115280484 Len=0 Win=306 ..
    3 0.46298 onehost -> sechost TCP D=49560 S=3389 Push Ack=2640744155 Seq=289264955 Len=19 ..
    4 0.00018 192.168.1.27 -> onehost TCP D=49560 S=3389 Push Ack=2640744155 Seq=289264955 Len=19 ..
    ...

    C помощью опции -N можно создать файл хостов, который потом пригодится:

    # snoop -i traff.snoop -N
    Creating name file traff.snoop.names

    # cat traff.snoop.names
    192.168.1.1 onehost
    192.168.1.2 sechost

    А можно не резолвить имена хостов (с помощью опции -r):

    # snoop -i traff.snoop -r
    Loading name file traff.snoop.names
    1 0.00000 192.168.1.1 -> 192.168.1.2 TCP D=45945 S=22 Push Ack=2115280484 Seq=3528084879 Len=48 Win=49232 ..
    2 0.00034 192.168.1.2 -> 192.168.1.1 TCP D=22 S=45945 Ack=3528084927 Seq=2115280484 Len=0 Win=306 ..
    3 0.46298 192.168.1.1 -> 192.168.1.2 TCP D=49560 S=3389 Push Ack=2640744155 Seq=289264955 Len=19 ..
    4 0.00018 192.168.1.27 -> 192.168.1.1 TCP D=49560 S=3389 Push Ack=2640744155 Seq=289264955 Len=19 ..
    ...

    Ищем пакеты до/от хоста onehost:

    # snoop -i traff.snoop onehost

    Ищем пакеты между хостами onehost и sechost:

    # snoop -i traff.snoop onehost sechost

    Ищем пакеты от/до onehost или от/до sechost:

    # snoop -i traff.snoop 192.168.1.1 192.168.1.2

    Фильтруем по номеру порта (из /etc/services) или IP-адресу или имени хоста:

    # snoop -i traff.snoop port 22

    # snoop -i traff.snoop onehost sechost port 22

    # snoop -i traff.snoop onehost sechost port 20 or port 21

    # snoop -i traff.snoop rpc nfs
    # snoop -i traff.snoop rpc nfs or rpc mount
    # snoop -i traff.snoop onehost sechost port 2049
    # snoop -i traff.snoop onehost sechost port 2049 or port 111 or rpc nfs or rpc mount

    Фильтруем по порту клиента:

    # snoop -i traff.snoop port 31337

    # snoop -i traff.snoop onehost sechost port 31337
    Loading name file traff.snoop.names
    1 0.00000 sechost-> onehost SMTP C port=31337
    2 0.00003 onehost -> sechost SMTP R port=31337
    3 0.00035 sechost -> onehost SMTP C port=31337

    Смотрим пакеты с определенным номером (если слишком большой файл):

    # snoop -i traff.snoop -p 3000,3005
    Loading name file traff.snoop.names
    3000 0.00011 onehost -> sechost TCP D=2049 S=43979 Ack=390431550 Seq=222075593 Len=0 Win=24820
    3001 0.00024 onehost -> sechost TCP D=2049 S=43979 Fin Ack=390431550 Seq=222075593 Len=0 Win=24820
    3002 0.00033 sechost -> onehost TCP D=43979 S=2049 Ack=222075594 Seq=390431550 Len=0 Win=24820
    3003 0.00039 sechost -> onehost TCP D=43979 S=2049 Fin Ack=222075594 Seq=390431550 Len=0 Win=24820
    3004 0.00475 onehost -> sechost TCP D=2049 S=43979 Ack=390431551 Seq=222075594 Len=0 Win=24820
    3005 0.00021 onehost -> sechost TCP D=2049 S=698 Syn Seq=222184946 Len=0 Win=24820 Options=


    Применяем различные фильтры:

    # snoop -i traff.snoop arp
    1 0.00000 192.168.1.2 -> (broadcast) ARP C Who is 192.168.1.1, 192.168.1.1 ?
    2 0.34124 192.168.1.2 -> (broadcast) ARP C Who is 192.168.1.1, 192.168.1.1 ?

    # snoop -i traff.snoop icmp
    1 0.00000 192.168.1.2 -> 192.168.1.1 ICMP Echo request (ID: 5217 Sequence number: 0)
    2 0.04178 192.168.1.2 -> 1192.168.1.1 ICMP Echo request (ID: 5219 Sequence number: 0)

    # snoop -i traff.snoop udp
    1 0.00000 192.168.1.2 -> 192.168.168.255 NIS C DOMAIN_NONACK sechost
    2 2.23892 192.168.1.2 -> 192.168.1.255 NIS C DOMAIN_NONACK sechost (retransmit)

    Выводим информацию по протоколу:

    # snoop -i nfs.snoop -p23 -V
    Loading name file nfs.snoop.names
    23 0.00000 onehost -> sechost ETHER Type=0800 (IP), size = 206 bytes
    23 0.00000 onehost -> sechost IP D=192.168.1.1 S=192.168.55.106 LEN=192, ID=45661, TOS=0x0, TTL=64
    23 0.00000 onehost -> sechost TCP D=2049 S=698 Push Ack=390460868 Seq=222184947 Len=152 Win=24820
    23 0.00000 onehost -> sechost RPC C XID=1096378150 PROG=100003 (NFS) VERS=3 PROC=19
    23 0.00000 onehost -> sechost NFS C FSINFO3 FH=0222

    # snoop -i nfs.snoop -p23 -v
    Loading name file nfs.snoop.names
    ......
    ETHER:
    IP: ----- IP Header -----
    IP:
    IP: Version = 4
    IP: Header length = 20 bytes
    IP: Type of service = 0x00
    IP: xxx. .... = 0 (precedence)
    IP: ...0 .... = normal delay
    IP: .... 0... = normal throughput
    IP: .... .0.. = normal reliability
    IP: .... ..0. = not ECN capable transport
    IP: .... ...0 = no ECN congestion experienced
    IP: Total length = 192 bytes
    IP: Identification = 45661
    IP: Flags = 0x4
    IP: .1.. .... = do not fragment
    IP: ..0. .... = last fragment
    IP: Fragment offset = 0 bytes
    IP: Time to live = 64 seconds/hops
    IP: Protocol = 6 (TCP)
    IP: Header checksum = 2175

    Ищем Seq/Ack номер:

    # snoop -i traff.snoop -V | grep TCP
    1 0.00000 onehost -> sechost TCP D=8080 S=32867 Syn Seq=317534064 Len=0 Win=49640 Options=
    2 0.00049 sechost -> onehost TCP D=32867 S=8080 Syn Ack=317534065 Seq=178080057 Len=0 Win=49640 Options=
    3 0.00008 onehost -> sechost TCP D=8080 S=32867 Ack=178080058 Seq=317534065 Len=0 Win=49640
    4 0.00377 onehost -> sechost TCP D=8080 S=32867 Push Ack=178080058 Seq=317534065 Len=209 Win=49640


    Определяем время прохождения пакета:

    # snoop -i traff.snoop -ta -p9,13
    Loading name file traff.snoop.names
    5 18:10:54.71861 onehost -> sechost HTTP (proxy) R port=41579
    6 18:10:55.03142 onehost -> sechost HTTP HTTP/1.1 200 OK
    7 18:10:55.03168 sechost -> onehost HTTP (proxy) C port=41579
    8 18:10:56.37426 onehost -> sechost HTTP (body)
    9 18:10:56.47427 sechost -> onehost HTTP (proxy) C port=41579

    Определяем время передачи данных по FTP:

    # snoop -i ftp.snoop -tr port 20 | tail -1
    123 1.347823 192.168.1.1 -> 192.168.1.2 FTP-DATA C port=32725

    Итого: 1.347823 sec

    Просматриваем содержимое пакета:

    # snoop -i traff.snoop -p4 -x0

    0.00778 onehost -> sechost HTTP GET http://sunhelp.ru/files/memstat.tar.gz HTTP/1.1

    0: 0008 a4d2 5e40 0800 20a0 166a 0800 4500 ....^@.. ..f..Y.
    16: 00f9 dc05 4000 4006 b0be 0a0e 025f 819e ...@.@......_..
    32: 1f30 8063 1f90 12ed 2f71 0a9d 493a 5018 .N.d..../w..I:P.
    48: c1e8 d859 0000 4745 5420 6874 7470 3a2f ...Y..GET http:/
    Категория: Solaris | Добавил: basil (12.09.2011)
    Просмотров: 1103 | Комментарии: 2 | Рейтинг: 0.0/0
    Всего комментариев: 0
    Имя *:
    Email *:
    Код *:
    Бесплатный конструктор сайтов - uCoz