tssltd:захват_сетевого_трафика_в_формате_pcap
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
tssltd:захват_сетевого_трафика_в_формате_pcap [2025/01/14 13:10] – i.sharapov | tssltd:захват_сетевого_трафика_в_формате_pcap [2025/01/14 14:02] (current) – i.sharapov | ||
---|---|---|---|
Line 6: | Line 6: | ||
Устройство <wrap em> | Устройство <wrap em> | ||
- | *** Raw-режим: | + | *** Raw-режим: |
*** Pcap-режим: | *** Pcap-режим: | ||
+ | </ | ||
+ | |||
+ | |||
+ | ==== Режим захвате RAW ==== | ||
+ | <WRAP indent> | ||
+ | Для захвата сетевого трафик на физическом интерфейсе необходимо подключиться подключиться к устройству по протоколу ssh. Далее необходимо перейти в режим конфигурации на уровне “**data plane**” с помощью команды “**vppctl**”. | ||
+ | |||
+ | Необходимо выбрать один из сетевых интерфейсов, | ||
+ | |||
+ | Для захвата сетевого трафика необходимо использовать команду "trace add dpdk-input < | ||
+ | |||
+ | < | ||
+ | # vppctl | ||
+ | vpp# trace add dpdk-input 1000 < | ||
+ | </ | ||
+ | |||
+ | Для просмотра результата необходимо выполнить команду "show trace" | ||
+ | |||
+ | < | ||
+ | Packet 16 | ||
+ | |||
+ | 01: | ||
+ | GigabitEtherneta/ | ||
+ | buffer 0x2cff11: current data 0, length 70, buffer-pool 0, ref-count 1, trace handle 0x100000f | ||
+ | | ||
+ | PKT MBUF: port 6, nb_segs 1, pkt_len 70 | ||
+ | buf_len 9328, data_len 70, ol_flags 0x182, data_off 128, phys_addr 0xd33fc4c0 | ||
+ | packet_type 0x111 l2_len 0 l3_len 0 outer_l2_len 0 outer_l3_len 0 | ||
+ | rss 0x94cebe20 fdir.hi 0x0 fdir.lo 0x94cebe20 | ||
+ | Packet Offload Flags | ||
+ | PKT_RX_IP_CKSUM_GOOD (0x0080) IP cksum of RX pkt. is valid | ||
+ | PKT_RX_L4_CKSUM_GOOD (0x0100) L4 cksum of RX pkt. is valid | ||
+ | PKT_RX_RSS_HASH (0x0002) RX packet with RSS hash result | ||
+ | Packet Types | ||
+ | RTE_PTYPE_L2_ETHER (0x0001) Ethernet packet | ||
+ | RTE_PTYPE_L3_IPV4 (0x0010) IPv4 packet without extension headers | ||
+ | RTE_PTYPE_L4_TCP (0x0100) TCP packet | ||
+ | IP4: 6c: | ||
+ | TCP: 81.177.120.83 -> 194.135.68.242 | ||
+ | tos 0x20, ttl 52, length 52, checksum 0xa325 dscp CS1 ecn NON_ECN | ||
+ | fragment id 0xd200, flags DONT_FRAGMENT | ||
+ | TCP: 50706 -> 443 | ||
+ | seq. 0xad1c6b3b ack 0x19461f07 | ||
+ | flags 0x10 ACK, tcp header: 32 bytes | ||
+ | window 360, checksum 0x6aff | ||
+ | |||
+ | 01: | ||
+ | frame: flags 0x3, hw-if-index 7, sw-if-index 7 | ||
+ | IP4: 6c: | ||
+ | 01: | ||
+ | l2-input: sw_if_index 7 dst 00: | ||
+ | 01: | ||
+ | IN-FEAT-ARC: | ||
+ | 01: | ||
+ | acl-plugin: lc_index: 0, sw_if_index 7, next index 1, action: 1, match: acl 0 rule 0 trace_bits 00000000 | ||
+ | ct session_index -1 thread_index 65535 error NONE pkt info 0000000000000000 0000000000000000 0000000000000000 f24487c25378b151 0007010601bbc612 0310ffff00000000 | ||
+ | | ||
+ | 01: | ||
+ | IN-FEAT-ARC: | ||
+ | 01: | ||
+ | l2-learn: sw_if_index 7 dst 00: | ||
+ | 01: | ||
+ | l2-fwd: | ||
+ | 01: | ||
+ | rx: | ||
+ | 01: | ||
+ | l2-fwd: Reflection Drop | ||
+ | |||
+ | Packet 17 | ||
+ | |||
+ | 01: | ||
+ | GigabitEtherneta/ | ||
+ | buffer 0x2b73df: current data 0, length 138, buffer-pool 0, ref-count 1, trace handle 0x1000010 | ||
+ | | ||
+ | PKT MBUF: port 6, nb_segs 1, pkt_len 138 | ||
+ | buf_len 9328, data_len 138, ol_flags 0x182, data_off 128, phys_addr 0xd39cf840 | ||
+ | packet_type 0x111 l2_len 0 l3_len 0 outer_l2_len 0 outer_l3_len 0 | ||
+ | rss 0x49de519a fdir.hi 0x0 fdir.lo 0x49de519a | ||
+ | Packet Offload Flags | ||
+ | PKT_RX_IP_CKSUM_GOOD (0x0080) IP cksum of RX pkt. is valid | ||
+ | PKT_RX_L4_CKSUM_GOOD (0x0100) L4 cksum of RX pkt. is valid | ||
+ | PKT_RX_RSS_HASH (0x0002) RX packet with RSS hash result | ||
+ | Packet Types | ||
+ | RTE_PTYPE_L2_ETHER (0x0001) Ethernet packet | ||
+ | RTE_PTYPE_L3_IPV4 (0x0010) IPv4 packet without extension headers | ||
+ | RTE_PTYPE_L4_TCP (0x0100) TCP packet | ||
+ | IP4: 6c: | ||
+ | TCP: 46.138.254.34 -> 194.135.68.242 | ||
+ | tos 0x00, ttl 122, length 120, checksum 0x61c7 dscp CS0 ecn NON_ECN | ||
+ | fragment id 0x6a92, flags DONT_FRAGMENT | ||
+ | TCP: 58270 -> 873 | ||
+ | seq. 0x358e7882 ack 0x1e2c6d5b | ||
+ | flags 0x18 PSH ACK, tcp header: 20 bytes | ||
+ | window 2052, checksum 0x0bae | ||
+ | |||
+ | 01: | ||
+ | frame: flags 0x3, hw-if-index 7, sw-if-index 7 | ||
+ | IP4: 6c: | ||
+ | 01: | ||
+ | l2-input: sw_if_index 7 dst 00: | ||
+ | 01: | ||
+ | IN-FEAT-ARC: | ||
+ | 01: | ||
+ | acl-plugin: lc_index: 0, sw_if_index 7, next index 1, action: 1, match: acl 0 rule 0 trace_bits 00000000 | ||
+ | ct session_index -1 thread_index 65535 error NONE pkt info 0000000000000000 0000000000000000 0000000000000000 f24487c222fe8a2e 000701060369e39e 0318ffff00000000 | ||
+ | | ||
+ | 01: | ||
+ | IN-FEAT-ARC: | ||
+ | 01: | ||
+ | l2-learn: sw_if_index 7 dst 00: | ||
+ | 01: | ||
+ | l2-fwd: | ||
+ | 01: | ||
+ | rx: | ||
+ | 01: | ||
+ | l2-fwd: Reflection Drop | ||
+ | </ | ||
+ | |||
+ | Данный механизм использует буфер для сохранения результатов работы. Чтобы очистить буфер от старых данных и начать новый захват необходимо выполнить команду " | ||
+ | |||
+ | Для сохранения данных в текстовом формате, | ||
</ | </ | ||
+ | |||
+ | ==== Режим захвате Pcap==== | ||
+ | |||
+ | <WRAP indent> | ||
+ | |||
+ | Для захвата сетевого трафик на сетевом интерфейсе необходимо подключиться подключиться к устройству по протоколу ssh. Далее необходимо перейти в режим конфигурации на уровне “**data plane**” с помощью команды “**vppctl**”. | ||
+ | |||
+ | Необходимо выбрать один из сетевых интерфейсов, | ||
+ | |||
+ | Для захвата сетевого трафика необходимо использовать команду " | ||
+ | |||
+ | *** rx/tx** - направление сетевого трафика, | ||
+ | *** on/off** - включить или выключить механизм захвата сетевого трафика; | ||
+ | *** max_packet_count** - количество сетевых пакетов, | ||
+ | *** intfc** - сетевой интерфейс, | ||
+ | *** file** - имя файла, в который будут сохранены результаты в формате pcap. | ||
+ | |||
+ | В примере ниже осуществим захват 1000 пакетов на интерфейсе GigabitEtherneta/ | ||
+ | |||
+ | < | ||
+ | # vppctl | ||
+ | vpp# pcap trace rx max 1000 intfc GigabitEtherneta/ | ||
+ | |||
+ | vpp# pcap trace status | ||
+ | pcap rx dispatch capture enabled: 1000 of 1000 pkts... | ||
+ | capture to file / | ||
+ | </ | ||
+ | |||
+ | Для изменения параметров захвата необходимо остановить процесс с помощью команды " | ||
+ | |||
+ | < | ||
+ | vpp# pcap trace rx max 1000 intfc GigabitEthernet4/ | ||
+ | vpp# | ||
+ | vpp# pcap trace status | ||
+ | pcap rx dispatch capture enabled: 138 of 1000 pkts... | ||
+ | capture to file / | ||
+ | vpp# | ||
+ | vpp# pcap trace rx off | ||
+ | pcap trace: 138 of 1000 pkts captured... | ||
+ | </ | ||
+ | |||
+ | |||
+ | </ | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
[[tssltd: | [[tssltd: | ||
+ | |||
+ |
tssltd/захват_сетевого_трафика_в_формате_pcap.1736849444.txt.gz · Last modified: 2025/01/14 13:10 by i.sharapov