Разбор пакетов tcpump

Discussion in 'PHP' started by zer0ska, 1 Oct 2009.

  1. zer0ska

    zer0ska Elder - Старейшина

    Joined:
    5 Dec 2007
    Messages:
    103
    Likes Received:
    9
    Reputations:
    0
    Помогите разобратся как разобрать пакет такого вида
    Взято с лога при запуске
    tcpdumpa вот так
    tcpdump -X -a dst port 5190 -s 9999
    icq
    PHP:

    0x0000
    :  4500 008c 1f27 4000 8006 c1c9 c0a8 0055  E....'@........U
            0x0010:  400c 1872 0425 1446 fc4b 8404 b9f8 3e3b  @..r.%.F.K....>;
            0x0020:  5018 fc50 e908 0000 2a02 0cf8 005e 0004  P..P....*....^..
            0x0030:  000b 0000 0000 000b 0000 6c1d 8903 0000  ..........l.....
            0x0040:  0002 0932 3437 3035 3736 3033 0003 1b00  ...247057603....
            0x0050:  0900 0000 0000 0000 0000 0000 0000 0000  ................
            0x0060:  0000 0000 0100 0000 00f9 7c0e 00f9 7c00  ..........|...|.
            0x0070:  0000 0000 0000 0000 0000 0001 0000 0000  ................
            0x0080:  0001 0000 0000 0000 ffff ff00            ............
    где какой формат данных как я понимаю это хекс и асции
    но как ето разобрать где что ??

    для примера еше один пакет

    PHP:
     0x0000:  4500 013d fe62 4000 8006 3304 c0a8 0016  E..=.b@...3.....
            
    0x0010:  5cf1 aaa4 0f1a 0050 7d1e 19af e775 e49b  \......P}....u..
            
    0x0020:  5018 ffff ff86 0000 4745 5420 2f72 7373  P.......GET./rss
            0x0030
    :  2e61 7370 783f 763d 5468 7525 3230 4f63  .aspx?v=Thu%20Oc
            0x0040
    :  7425 3230 3125 3230 3132 3a34 323a 3333  t%201%2012:42:33
            0x0050
    :  2532 3055 5443 2b30 3430 3025 3230 3230  %20UTC+0400%2020
            0x0060
    :  3039 2048 5454 502f 312e 310d 0a41 6363  09.HTTP/1.1..Acc
            0x0070
    :  6570 743a 202a 2f2a 0d0a 4163 6365 7074  ept:.*/*..Accept
            0x0080:  2d45 6e63 6f64 696e 673a 2067 7a69 702c  -Encoding:.gzip,
            0x0090:  2064 6566 6c61 7465 0d0a 5573 6572 2d41  .deflate..User-A
            0x00a0:  6765 6e74 3a20 4d6f 7a69 6c6c 612f 342e  gent:.Mozilla/4.
            0x00b0:  3020 2863 6f6d 7061 7469 626c 653b 204d  0.(compatible;.M
            0x00c0:  5349 4520 362e 303b 2057 696e 646f 7773  SIE.6.0;.Windows
            0x00d0:  204e 5420 352e 313b 2053 5631 3b20 496e  .NT.5.1;.SV1;.In
            0x00e0:  666f 5061 7468 2e32 3b20 2e4e 4554 2043  foPath.2;..NET.C
            0x00f0:  4c52 2031 2e31 2e34 3332 323b 202e 4e45  LR.1.1.4322;..NE
            0x0100:  5420 434c 5220 322e 302e 3530 3732 3729  T.CLR.2.0.50727)
            0x0110:  0d0a 486f 7374 3a20 6963 712d 7476 2e72  ..Host:.icq-tv.r
            0x0120:  750d 0a43 6f6e 6e65 6374 696f 6e3a 204b  u..Connection:.K
            0x0130:  6565 702d 416c 6976 650d 0a0d 0a         eep-Alive....

    тут конечно видно что куски данных типа GET итп но как получить полный текст пакета ??
    подскажите или скинте ссылки на доки =))
     
  2. krypt3r

    krypt3r Elder - Старейшина

    Joined:
    27 Apr 2007
    Messages:
    1,507
    Likes Received:
    389
    Reputations:
    101
    Примерный разбор второго пакета
    Code:
    Internet Protocol
      45	Version - 4 (4 bits), Header Length - 20 bytes (4 bit)
      00	Differentiated Services Field
      013d	Total Length (317)
      fe62	Identification
      4000	Flags (3 bits), Fragment offset (13 bit)
      80	Time to live (128)
      06	Protocol (TCP 0x06)
      3304	Header Checksum
      c0a8 0016	Source (192.168.0.22)
      5cf1 aaa4	Destination (92.241.170.164)
    Transmission Control Protocol
      0f1a	Source Port (3866)
      0050	Destination Port (80)
      7d1e 19af	Sequence number
      e775 e49b	Acknowledgement number
      50	Header Length (80)
      18	Flags (PSH, ACK)
      ffff	Window Size
      ff86	Checksum
      0000	Options
      ...	Data (HTTP GET)
    
    Формат пакетов описан в RFC793 (TCP), 791 (IP). Для первого знакомства можно почитать и вики:)
    http://ru.wikipedia.org/wiki/IP
    http://ru.wikipedia.org/wiki/TCP
     
  3. zer0ska

    zer0ska Elder - Старейшина

    Joined:
    5 Dec 2007
    Messages:
    103
    Likes Received:
    9
    Reputations:
    0
    krypt3r Спасибо =)
    а есть какаянить реализация разборан пакетов на томже перл типа класса
    либпкап умеет ??
     
  4. krypt3r

    krypt3r Elder - Старейшина

    Joined:
    27 Apr 2007
    Messages:
    1,507
    Likes Received:
    389
    Reputations:
    101
    ну есть package Net::pcap