Difference between revisions of "Napatech"
(11 intermediate revisions by one other user not shown) | |||
Line 1: | Line 1: | ||
== Configuration & building == | == Configuration & building == | ||
− | === | + | = First Installation = |
+ | |||
+ | |||
+ | == Steps == | ||
* download latest Napatech drivers and untar it into e.g. /opt/napatech3 | * download latest Napatech drivers and untar it into e.g. /opt/napatech3 | ||
Line 8: | Line 11: | ||
cd /usr/src | cd /usr/src | ||
− | git clone https://github.com/voipmonitor/sniffer.git | + | git clone -b master https://github.com/voipmonitor/sniffer.git |
+ | OR | ||
+ | git clone -b develop https://github.com/voipmonitor/sniffer.git | ||
cd sniffer | cd sniffer | ||
− | ./configure | + | ./configure --with-dpdk-include=/opt/napatech3/include --with-dpdk-lib=/opt/napatech3/lib |
Install all libraries that the configure needs. | Install all libraries that the configure needs. | ||
− | |||
− | |||
− | |||
− | |||
− | |||
* run make | * run make | ||
Line 28: | Line 28: | ||
* run it | * run it | ||
− | === | + | = Upgrade = |
+ | |||
+ | ==The GUI way (from the sensor's version 24.23)== | ||
+ | |||
+ | |||
+ | Until sensor's version 24.23 was not possible to do the sensor's upgrade via 'upgrade_by_git' option because the configure script | ||
+ | overwritten the adjusted Makefile and you built a binary with standard pcap libs (until you overwritten the orig libs). With 'configure_param' option you can adjust the Makefile creation for appropriate includes/libs | ||
+ | |||
+ | |||
+ | * set these options into voipmonitor.conf | ||
+ | |||
+ | upgrade_by_git = yes | ||
+ | git_folder = /usr/src/sniffer | ||
+ | configure_param = --with-dpdk-include=/opt/napatech3/include --with-dpdk-lib=/opt/napatech3/lib | ||
+ | * restart sniffer | ||
+ | * do the upgrade via clicking in the GUI | ||
+ | |||
+ | The sniffer will perform (after click on UPGRADE in GUI) git pull,configure,make_clean,make, service voipmonitor stop, make install, service voipmonitor start. | ||
+ | |||
+ | |||
+ | ==The manual way== | ||
cd /usr/src/sniffer | cd /usr/src/sniffer | ||
git pull | git pull | ||
Line 37: | Line 57: | ||
− | == Settings == | + | = napatech drivers = |
+ | |||
+ | == Settings sample == | ||
* in voipmonitor.conf | * in voipmonitor.conf | ||
interface = napa0 | interface = napa0 | ||
+ | |||
+ | # filter option must be commented out !!! E.g. | ||
+ | #filter = udp or (vlan and udp) | ||
− | + | * /opt/napatech3/config/ntpcap.ini | |
+ | |||
+ | # Napatech default ntpcap.ini file | ||
+ | [Common] | ||
+ | Ntpl1 = "Assign[streamid=0;txport=0;txignore=true]=all" | ||
− | + | [napa0 ] | |
+ | StreamId = 0 | ||
+ | Tx = 0 | ||
+ | |||
+ | * old version | ||
[napa0] | [napa0] | ||
Rx1="Assign[streamid=252;txport=0;txignore=true]=all" | Rx1="Assign[streamid=252;txport=0;txignore=true]=all" | ||
Tx=0 | Tx=0 | ||
− | |||
− | + | * /opt/napatech3/config/ntservice.ini | |
− | |||
[System] | [System] | ||
Line 90: | Line 121: | ||
System dependent: | System dependent: | ||
TimeSyncConnectorExt1 = NttsIn | TimeSyncConnectorExt1 = NttsIn | ||
+ | |||
+ | == Hints == | ||
+ | === Filter traffic on Napatech card === | ||
+ | If you want to filter a data directly in the Napatech card you can use this example as a starting point. | ||
+ | (many thanks to Distributel for the example) | ||
+ | |||
+ | Create a file e.g /opt/napatech3/myfilter.ntpl | ||
+ | |||
+ | # Start NTPL | ||
+ | # Delete all existing filter | ||
+ | delete = all | ||
+ | |||
+ | # Setup UDP macros | ||
+ | |||
+ | DefineMacro("mUdpSrcPort", "Data[DynOffset=DynOffUDPFrame;Offset=0;DataType=ByteStr2]") | ||
+ | DefineMacro("mUdpDestPort", "Data[DynOffset=DynOffUDPFrame;Offset=2;DataType=ByteStr2]") | ||
+ | |||
+ | # Setup filters | ||
+ | # The first line is the SIP filter. The second line is the RTP filter for our specific ports in HEX (10000-61743) | ||
+ | |||
+ | Assign[StreamId = 0] = (mUdpSrcPort == 5060, 5061) AND (mUdpDestPort == 5060, 5061) | ||
+ | Assign[StreamId = 0] = (mUdpSrcPort == (0x2710..0xF12F)) | ||
+ | # End NTPL | ||
+ | |||
+ | Start it with the command | ||
+ | |||
+ | /opt/napatech3/bin/ntstart.sh -n myfilters.ntpl |
Latest revision as of 19:34, 6 March 2024
Configuration & building
First Installation
Steps
- download latest Napatech drivers and untar it into e.g. /opt/napatech3
- build the driver
- download the the sniffer's source
cd /usr/src git clone -b master https://github.com/voipmonitor/sniffer.git OR git clone -b develop https://github.com/voipmonitor/sniffer.git cd sniffer ./configure --with-dpdk-include=/opt/napatech3/include --with-dpdk-lib=/opt/napatech3/lib
Install all libraries that the configure needs.
- run make
- check it's built properly
root@server:/usr/src/sniffer# ldd ./voipmonitor | grep pcap libpcap.so.1 => /opt/napatech3/lib/libpcap.so.1 (0x00007fc0b69b0000)
- replace original binary in the /usr/local/sbin
- run it
Upgrade
The GUI way (from the sensor's version 24.23)
Until sensor's version 24.23 was not possible to do the sensor's upgrade via 'upgrade_by_git' option because the configure script overwritten the adjusted Makefile and you built a binary with standard pcap libs (until you overwritten the orig libs). With 'configure_param' option you can adjust the Makefile creation for appropriate includes/libs
- set these options into voipmonitor.conf
upgrade_by_git = yes git_folder = /usr/src/sniffer configure_param = --with-dpdk-include=/opt/napatech3/include --with-dpdk-lib=/opt/napatech3/lib
- restart sniffer
- do the upgrade via clicking in the GUI
The sniffer will perform (after click on UPGRADE in GUI) git pull,configure,make_clean,make, service voipmonitor stop, make install, service voipmonitor start.
The manual way
cd /usr/src/sniffer git pull make
- copy to the original directory and restart sensor
napatech drivers
Settings sample
- in voipmonitor.conf
interface = napa0 # filter option must be commented out !!! E.g. #filter = udp or (vlan and udp)
- /opt/napatech3/config/ntpcap.ini
# Napatech default ntpcap.ini file [Common] Ntpl1 = "Assign[streamid=0;txport=0;txignore=true]=all" [napa0 ] StreamId = 0 Tx = 0
- old version
[napa0] Rx1="Assign[streamid=252;txport=0;txignore=true]=all" Tx=0
- /opt/napatech3/config/ntservice.ini
[System] TimestampFormat = NATIVE_UNIX TimestampMethod = EOF HostBufferWaitMethod = 0 SDRAMFillLevelWarning = 0
[logging] LogMask = 0x07 LogToFile = 0 LogFileName = /tmp/Log3G_%s.log LogBufferWrap = wrap [Adapter0] AdapterType = NT4E BusId = 00:07:00:00 PacketDescriptor = NT HostBuffersRx = [8,16,0] HostBuffersTx = [8,16,0] TimeSyncProtocol = NT TimeSyncConnectorIn = Ext TimeSyncConnectorOut = None TimeSyncConnectorRepeat = None TimeSyncTimeJumpThreshold = 1 TimeSyncTimeOffset = 0 MaxFrameSize = 9018 AltTPID = 0x8100 Profile = Capture DiscardSize = 16 OsTimeSyncFailover = DISABLE
Timing source In napatech where timestamp of packets is shifted to GMT and you want use system time instead: GMT:
TimeSyncConnectorExt1 = PpsIn
System dependent:
TimeSyncConnectorExt1 = NttsIn
Hints
Filter traffic on Napatech card
If you want to filter a data directly in the Napatech card you can use this example as a starting point. (many thanks to Distributel for the example)
Create a file e.g /opt/napatech3/myfilter.ntpl
# Start NTPL # Delete all existing filter delete = all # Setup UDP macros DefineMacro("mUdpSrcPort", "Data[DynOffset=DynOffUDPFrame;Offset=0;DataType=ByteStr2]") DefineMacro("mUdpDestPort", "Data[DynOffset=DynOffUDPFrame;Offset=2;DataType=ByteStr2]") # Setup filters # The first line is the SIP filter. The second line is the RTP filter for our specific ports in HEX (10000-61743) Assign[StreamId = 0] = (mUdpSrcPort == 5060, 5061) AND (mUdpDestPort == 5060, 5061) Assign[StreamId = 0] = (mUdpSrcPort == (0x2710..0xF12F)) # End NTPL
Start it with the command
/opt/napatech3/bin/ntstart.sh -n myfilters.ntpl