• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Netis/packet-agent: A toolset for network packet capture in Cloud/Kubernetes and ...

原作者: [db:作者] 来自: 网络 收藏 邀请

开源软件名称(OpenSource Name):

Netis/packet-agent

开源软件地址(OpenSource Url):

https://github.com/Netis/packet-agent

开源编程语言(OpenSource Language):

C++ 99.5%

开源软件介绍(OpenSource Introduction):

English ∙ 简体中文

packet agent's title

Netis Packet Agent 0.5.0

Stable release Software License

What is Netis Packet Agent?

Netis Packet Agent is an open source project to deal with such situation: it captures packets on Machine A but has to use them on Machine B. This case is very common when you try to monitor network traffic in the LAN but the infrastructure is incapable, for example

  • There is neither TAP nor SPAN device in a physical environment.
  • The Virtual Switch Flow Table does not support SPAN function in a virtualization environment.

Also, this project aims at developing a suite of low cost but high efficiency tools to survive the challenge above.

  • pktminerg is the very first one, which makes you easily capture packets from an NIC interface, encapsulate them with GRE and send them to a remote machine for monitoring and analysis.

packet agent's pktminerg capture traffic flow via GRE/Cloud

With 3 utilities:

  • pcapcompare is a utility for comparing 2 different pcap files.
  • gredump is used for capturing GRE packet with filter, and save them to pcap file.
  • gredemo is a demo app which is used to read packet from a pcap file and send them all to remote NIC. This can be only used when built from source code.

Getting Started

Installation

CentOS 6/7 and RedHat 7

  1. Install libpcap and wget
yum install libpcap wget zeromq
  1. Download and install the RPM package. Find the latest package from Releases Page.
wget https://github.com/Netis/packet-agent/releases/download/v0.5.0/netis-packet-agent-0.5.0.el6.x86_64.rpm
rpm -ivh netis-packet-agent-0.5.0.el6.x86_64.rpm

SUSE 12

  1. Download and install the RPM package. Find the latest package from Releases Page.
wget https://github.com/Netis/packet-agent/releases/download/v0.5.0/netis-packet-agent-0.5.0.el6.x86_64.rpm
rpm -ivh netis-packet-agent-0.5.0.el6.x86_64.rpm

Ubuntu 18.04LTS

  1. Install libpcap and wget
sudo apt-get install libpcap-dev wget
  1. Download and install the DEB package. Find the latest package from Releases Page.
wget https://github.com/Netis/packet-agent/releases/download/v0.5.0/netis-packet-agent-0.5.0_amd64.deb
sudo dpkg -i netis-packet-agent-0.5.0_amd64.deb
  1. If libpcap.so.1 not found when running pktminerg, create softlink for libpcap.so.1 in suitable directory.
whereis libpcap.so
cd /path/to/libpcap.so
ln -s libpcap.so.x.y.z libpcap.so.1

Remarks: If it encounter a library dependency error when install from rpm, you should install boost_1_59_0 or later. If this also can't work, you can build and run from source.

Remarks: Now only support CentOS 6/7, RedHat 7, SUSE 12, Ubuntu 18.04 LTS.

Windows 7/8/10 x64

  1. Download and Install Winpcap of latest version.
  2. Download and Install Microsoft Visual C++ Redistributable for Visual Studio 2017 x64.
  3. Extract pktminerg and other utilities from zip, and run it in cmd in Administrator Mode.

Note: On Windows platform, you must use NIC's NT Device Name with format "\Device\NPF_{UUID}" as interface param. You can get it with following command:

    C:\> getmac /fo csv /v 
    "Connection Name","Network Adapter","Physical Address","Transport Name" 
    "Ethernet","Intel(R) Ethernet Connection (4) I219-V","8C-16-45-6B-53-B5","\Device\Tcpip_{4C25EA92-09DF-4FD3-A8B3-1B68E57443E2}" 

Take last field(Transport Name) and replace "Tcpip_" with "NPF_" as follow, then you can get interface param of Windows.

    \Device\NPF_{4C25EA92-09DF-4FD3-A8B3-1B68E57443E2} 

Use example:

    C:\> pktminerg -i \Device\NPF_{4C25EA92-09DF-4FD3-A8B3-1B68E57443E2} -r 172.24.103.201 
    C:\> gredump -i \Device\NPF_{4C25EA92-09DF-4FD3-A8B3-1B68E57443E2} -o capture.pcap

Engineering team contacts


Usage

Remarks: Make sure the firewall allows GRE packets to be sent to the target. https://lartc.org/howto/lartc.tunnel.gre.html provides a way to check firewall allows GRE packets to be sent.

# Capture packet from NIC "eth0", encapsulate with GRE header and send to 172.16.1.201
pktminerg -i eth0 -r 172.16.1.201

# Specify cpu 1 for this program with high priority to avoid thread switch cost.
pktminerg -i eth0 -r 172.16.1.201 --cpu 1 -p

# compare 2 pcap files
pcapcompare --lpcap /path/to/left_file.pcap --rpcap /path/to/right_file.pcap

# Capture packet from NIC "eth0" and save them to gredump_output.pcap
gredump -i eth0 -o /path/to/gredump_output.pcap

# Capture packet from NIC "eth0", do not set DF flag
pktminerg -i eth0 -r 172.16.1.201 -M dont

packet agent's pktminerg : network capture use case

For more information on using these tools, please refer to this document.

For docker usage, please refer to this document.

Build from source.

You can also clone source from Github and build Netis Packet Agent in local, then check"/path/to/packet-agent/bin" to find all binary.
For build precondition and steps, please refer to this document.

Documentation / Useful link

Contributing

Fork the project and send pull requests. We welcome pull requests from members of all open source community.

License

Copyright (c) 2018 - 2020 Netis.
The content of this repository bound by the following licenses:

Contact info





鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap