wiki:ve_tcpdump

Перехват SIP-трафика на плате VE-01

Внимание! Данное руководство предназначено для опытных пользователей. Выполнение некорректных команд на плате может привести к потере работоспособности платы.

В актуальном ПО платы VE-01 и VE-02 имеется программа tcpdump, с помощью которой можно захватить трафик.

Захват Sip трафика

  1. Подключиться к плате VE по ssh (wiki:Mc04putty_ve).
  2. Выполнить команду типа:
    tcpdump -v -s1514 port 5060 and host 192.168.0.105
    

здесь после host нужно указать IP адрес дальней стороны (устройства которое пытается связаться с платой VE-01)

  • Провести эксперимент и наблюдать вывод пакетов SIP в консоль.
  • По окончанию эксперимента прервать выполнение команды tcpdump(нажать CTRL+C), затем выделить весь текст начиная с запуска команды tcpdump и до конца вывода и скопировать его в буфер (в putty копирование производится нажатием левой кнопки мыши на выделенный текст).
  • Вставить текст из буфера в текстовый файл.
  1. Должно получиться что-то подобное:
    root@comcerto:/tmp# tcpdump -v -s1514 port 5060 and host 192.168.0.105
    tcpdump: listening on eth0, link-type EN10MB (Ethernet), capture size 1514 bytes
    06:16:04.512319 IP (tos 0x68, ttl 64, id 0, offset 0, flags [DF], proto UDP (17), length 32)
        192.168.0.105.5060 > 192.168.0.147.5060: SIP, length: 4
    
    
    
    06:16:04.853344 IP (tos 0x68, ttl 64, id 0, offset 0, flags [DF], proto UDP (17), length 1004)
        192.168.0.105.5060 > 192.168.0.147.5060: SIP, length: 976
            INVITE sip:100@192.168.0.147:5060 SIP/2.0
            Via: SIP/2.0/UDP 192.168.0.105:5060;branch=z9hG4bK4227904688
            From: "123" <sip:123@192.168.0.147:5060>;tag=4009663443
            To: <sip:100@192.168.0.147:5060>
            Call-ID: 1_3246133754@192.168.0.105
            CSeq: 1 INVITE
            Contact: <sip:123@192.168.0.105:5060>
            Content-Type: application/sdp
            Allow: INVITE, INFO, PRACK, ACK, BYE, CANCEL, OPTIONS, NOTIFY, REGISTER, SUBSCRIBE, REFER, PUBLISH, UPDATE, MESSAGE
            Max-Forwards: 70
            User-Agent: Yealink SIP-T21P_E2 52.80.14.2
            Supported: timer
            Session-Expires: 180;refresher=uac
            Min-SE: 90
            Allow-Events: talk,hold,conference,refer,check-sync
            Supported: replaces
            Content-Length: 315
    
            v=0
            o=- 20167 20167 IN IP4 192.168.0.105
            s=SDP data
            c=IN IP4 192.168.0.105
            t=0 0
            m=audio 11926 RTP/AVP 8 0 102 18 101
            a=rtpmap:8 PCMA/8000
            a=rtpmap:0 PCMU/8000
            a=rtpmap:102 G726-32/8000
            a=rtpmap:18 G729/8000
            a=fmtp:18 annexb=no
            a=ptime:30
            a=sendrecv
            a=rtpmap:101 telephone-event/8000
            a=fmtp:101 0-15
    
    06:16:04.865300 IP (tos 0x0, ttl 64, id 0, offset 0, flags [DF], proto UDP (17), length 468)
        192.168.0.147.5060 > 192.168.0.105.5060: SIP, length: 440
            SIP/2.0 407 Proxy Authentication Required
            Via: SIP/2.0/UDP 192.168.0.105:5060;branch=z9hG4bK4227904688
            Proxy-Authenticate: Digest nonce="1560492964:155384d9f42e21d611ff2f4a6548f523",algorithm=MD5,realm="192.168.0.147",qop="auth,auth-int"
            To: <sip:100@192.168.0.147:5060>;tag=a5126e6b
            From: "123"<sip:123@192.168.0.147:5060>;tag=4009663443
            Call-ID: 1_3246133754@192.168.0.105
            CSeq: 1 INVITE
            Server: repro 1.10.2
            Content-Length: 0
    
    
    06:16:04.870323 IP (tos 0x68, ttl 64, id 0, offset 0, flags [DF], proto UDP (17), length 305)
        192.168.0.105.5060 > 192.168.0.147.5060: SIP, length: 277
            ACK sip:100@192.168.0.147:5060 SIP/2.0
            Via: SIP/2.0/UDP 192.168.0.105:5060;branch=z9hG4bK4227904688
            From: "123" <sip:123@192.168.0.147:5060>;tag=4009663443
            To: <sip:100@192.168.0.147:5060>;tag=a5126e6b
            Call-ID: 1_3246133754@192.168.0.105
            CSeq: 1 ACK
            Content-Length: 0
    
    
    06:16:04.882345 IP (tos 0x68, ttl 64, id 0, offset 0, flags [DF], proto UDP (17), length 1260)
        192.168.0.105.5060 > 192.168.0.147.5060: SIP, length: 1232
            INVITE sip:100@192.168.0.147:5060 SIP/2.0
            Via: SIP/2.0/UDP 192.168.0.105:5060;branch=z9hG4bK3315518714
            From: "123" <sip:123@192.168.0.147:5060>;tag=4009663443
            To: <sip:100@192.168.0.147:5060>
            Call-ID: 1_3246133754@192.168.0.105
            CSeq: 2 INVITE
            Contact: <sip:123@192.168.0.105:5060>
            Proxy-Authorization: Digest username="123", realm="192.168.0.147", nonce="1560492964:155384d9f42e21d611ff2f4a6548f523", uri="sip:100@192.168.0.147:5060", response="ede18207ecfb6d870a9e4acb97174604", algorithm=MD5, cnonce="0a4f113b", qop=auth, nc=00000001
            Content-Type: application/sdp
            Allow: INVITE, INFO, PRACK, ACK, BYE, CANCEL, OPTIONS, NOTIFY, REGISTER, SUBSCRIBE, REFER, PUBLISH, UPDATE, MESSAGE
            Max-Forwards: 70
            User-Agent: Yealink SIP-T21P_E2 52.80.14.2
            Supported: timer
            Session-Expires: 180;refresher=uac
            Min-SE: 90
            Allow-Events: talk,hold,conference,refer,check-sync
            Supported: replaces
            Content-Length: 315
    
            v=0
            o=- 20167 20167 IN IP4 192.168.0.105
            s=SDP data
            c=IN IP4 192.168.0.105
            t=0 0
            m=audio 11926 RTP/AVP 8 0 102 18 101
            a=rtpmap:8 PCMA/8000
            a=rtpmap:0 PCMU/8000
            a=rtpmap:102 G726-32/8000
            a=rtpmap:18 G729/8000
            a=fmtp:18 annexb=no
            a=ptime:30
            a=sendrecv
            a=rtpmap:101 telephone-event/8000
            a=fmtp:101 0-15
    
    06:16:04.956783 IP (tos 0x0, ttl 64, id 0, offset 0, flags [DF], proto UDP (17), length 591)
        192.168.0.147.5060 > 192.168.0.105.5060: SIP, length: 563
            SIP/2.0 180 Ringing
            Via: SIP/2.0/UDP 192.168.0.105:5060;branch=z9hG4bK3315518714
            Record-Route: <sip:192.168.0.147:5060;transport=udp;lr>
            Contact: <sip:100@127.0.0.1:6060>
            To: <sip:100@192.168.0.147:5060>;tag=1425527049
            From: "123" <sip:123@192.168.0.147:5060>;tag=4009663443
            Call-ID: 1_3246133754@192.168.0.105
            CSeq: 2 INVITE
            Allow: INVITE, ACK, BYE, CANCEL, OPTIONS, REFER, NOTIFY, INFO, UPDATE, PRACK
            Server: repro 1.10.2
            Supported: replaces, timer, 100rel
            User-Agent: eXosip/4.1.0
            P-Asserted-Identity: <sip:100@192.168.0.147>
            Content-Length: 0
    
    
    06:16:10.526388 IP (tos 0x68, ttl 64, id 0, offset 0, flags [DF], proto UDP (17), length 360)
        192.168.0.105.5060 > 192.168.0.147.5060: SIP, length: 332
            CANCEL sip:100@192.168.0.147:5060 SIP/2.0
            Via: SIP/2.0/UDP 192.168.0.105:5060;branch=z9hG4bK3315518714
            From: "123" <sip:123@192.168.0.147:5060>;tag=4009663443
            To: <sip:100@192.168.0.147:5060>
            Call-ID: 1_3246133754@192.168.0.105
            CSeq: 2 CANCEL
            Max-Forwards: 70
            User-Agent: Yealink SIP-T21P_E2 52.80.14.2
            Content-Length: 0
    
    
    06:16:10.539300 IP (tos 0x0, ttl 64, id 0, offset 0, flags [DF], proto UDP (17), length 306)
        192.168.0.147.5060 > 192.168.0.105.5060: SIP, length: 278
            SIP/2.0 200 OK
            Via: SIP/2.0/UDP 192.168.0.105:5060;branch=z9hG4bK3315518714
            To: <sip:100@192.168.0.147:5060>;tag=24766014
            From: "123" <sip:123@192.168.0.147:5060>;tag=4009663443
            Call-ID: 1_3246133754@192.168.0.105
            CSeq: 2 CANCEL
            Server: repro 1.10.2
            Content-Length: 0
    
    
    06:16:10.572847 IP (tos 0x0, ttl 64, id 0, offset 0, flags [DF], proto UDP (17), length 349)
        192.168.0.147.5060 > 192.168.0.105.5060: SIP, length: 321
            SIP/2.0 487 Request Cancelled
            Via: SIP/2.0/UDP 192.168.0.105:5060;branch=z9hG4bK3315518714
            To: <sip:100@192.168.0.147:5060>;tag=1425527049
            From: "123" <sip:123@192.168.0.147:5060>;tag=4009663443
            Call-ID: 1_3246133754@192.168.0.105
            CSeq: 2 INVITE
            Server: repro 1.10.2
            User-Agent: eXosip/4.1.0
            Content-Length: 0
    
    
    06:16:10.577410 IP (tos 0x68, ttl 64, id 0, offset 0, flags [DF], proto UDP (17), length 307)
        192.168.0.105.5060 > 192.168.0.147.5060: SIP, length: 279
            ACK sip:100@192.168.0.147:5060 SIP/2.0
            Via: SIP/2.0/UDP 192.168.0.105:5060;branch=z9hG4bK3315518714
            From: "123" <sip:123@192.168.0.147:5060>;tag=4009663443
            To: <sip:100@192.168.0.147:5060>;tag=1425527049
            Call-ID: 1_3246133754@192.168.0.105
            CSeq: 2 ACK
            Content-Length: 0
    
    
    
    10 packets captured
    11 packets received by filter
    0 packets dropped by kernel
    

Установка tcpdump(актуально только для старых прошивок плат VE, где его нет)

1. Скопировать файлы

libpcap_1.0.0-1_c300evm.ipk и tcpdump_4.0.0-1_c300evm.ipk в каталог /tmp на плате VE-01 (Сделать это можно, например с помощью программы WinScp )

2. Подключиться к SSH консоли

Например, программой Putty ( перед подключением в Putty нужно установить большее количество строк в выводе консоли Настройки->Window->Lines of scrollback, по умолчанию там значение 2000, для нашего эксперимента это маловато, можно увеличить раз в 10. )

3.Выполнить следующие команды

3.1. Перейти в каталог /tmp

cd /tmp

3.2. Установить пакеты из каталога /tmp

opkg install libpcap_1.0.0-1_c300evm.ipk tcpdump_4.0.0-1_c300evm.ipk

Вот пример успешного выполнения команд:

root@comcerto:~# cd /tmp
root@comcerto:/tmp# opkg install libpcap_1.0.0-1_c300evm.ipk tcpdump_4.0.0-1_c300evm.ipk
Installing libpcap (1.0.0-1) to root...
Installing tcpdump (4.0.0-1) to root...
Configuring tcpdump
Configuring libpcap
Last modified 2 months ago Last modified on Sep 25, 2024, 5:18:56 PM

Attachments (2)

Download all attachments as: .zip

Note: See TracWiki for help on using the wiki.