Difference between revisions of "Napatech"

From VoIPmonitor.org
Jump to navigation Jump to search
 
Line 1: Line 1:
 
== Configuration & building ==
 
== Configuration & building ==
  
=== First Installation ===
+
= First Installation =
  
  
====The old way====
+
== 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
 
 
 
Install all libraries that the configure needs.
 
 
 
* edit INCLUDES and LIBS_PATH lines in the Makefile
 
 
 
INCLUDES = -I/usr/napatech3/include -I/usr/local/include ${MYSQLINC} -I jitterbuffer/ ${JSONCFLAGS} ${GLIBCFLAGS}
 
LIBS_PATH = -L/opt/napatech3/lib -L/usr/local/lib/
 
 
 
* 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
 
 
 
====The new way (from the sensor's version 24.23)====
 
  
 
* 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 57: Line 28:
 
* run it
 
* run it
  
=== Upgrade ===
+
= Upgrade =
 
 
 
 
====The manual way====
 
cd /usr/src/sniffer
 
git pull
 
make
 
 
 
* copy to the original directory and restart sensor
 
  
====The GUI way (from the sensor's version 24.23)====
+
==The GUI way (from the sensor's version 24.23)==
  
  
Line 85: Line 48:
 
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 sniffer will perform (after click on UPGRADE in GUI) git pull,configure,make_clean,make, service voipmonitor stop, make install, service voipmonitor start.
  
== Settings ==
+
 
 +
==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
 
* in voipmonitor.conf
Line 148: Line 122:
 
  TimeSyncConnectorExt1 = NttsIn
 
  TimeSyncConnectorExt1 = NttsIn
  
====Filter traffic on Napatech card====
+
== 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.
 
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)
 
(many thanks to Distributel for the example)

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