Difference between revisions of "Napatech"

From VoIPmonitor.org
Jump to navigation Jump to search
 
(7 intermediate revisions by one other user not shown)
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
 
* download latest Napatech drivers and untar it into e.g. /opt/napatech3
Line 11: 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.
 
* 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
 
* run make
Line 31: Line 28:
 
* run it
 
* run it
  
====The new way (from the sensor's version 24.23)====
+
= Upgrade =
  
* download latest Napatech drivers and untar it into e.g. /opt/napatech3
+
==The GUI way (from the sensor's version 24.23)==
* build the driver
 
* download the the sniffer's source
 
  
cd /usr/src
 
git clone 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.
+
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
  
* run make
 
* check it's built properly
 
  
root@server:/usr/src/sniffer# ldd ./voipmonitor | grep pcap
+
* set these options into voipmonitor.conf
libpcap.so.1 => /opt/napatech3/lib/libpcap.so.1 (0x00007fc0b69b0000)
 
  
* replace original binary in the /usr/local/sbin
+
upgrade_by_git = yes
* run it
+
git_folder = /usr/src/sniffer
 +
configure_param = --with-dpdk-include=/opt/napatech3/include --with-dpdk-lib=/opt/napatech3/lib
  
=== Upgrade ===
+
* 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====
+
 
 +
==The manual way==
 
  cd /usr/src/sniffer
 
  cd /usr/src/sniffer
 
  git pull
 
  git pull
Line 64: Line 57:
  
  
====The automatic way====
+
= napatech drivers =
 
 
* set these options into voipmonitor.conf
 
  
upgrade_by_git = yes
+
== Settings sample ==
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.
 
 
 
 
 
== Settings ==
 
  
 
* in voipmonitor.conf
 
* in voipmonitor.conf
Line 140: 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