我希望从任何主机上捕获原始数据包,并在一个像"recieved.pcap“这样的绕过内核的文件中捕获它们。为此,我使用了一个虚拟ec2实例。为了绕过内核,我已经在我的实例上设置了DPDK。我是新的网络和任何帮助将不胜感激!
我有:
。
我运行了testpmd应用程序,下面是输出:
[ec2-user@ip-172-31-82-187 app]$ sudo ./testpmd -l 0-3 -n 4 -- -i
EAL: Detected 8 lcore(s)
EAL: Detected 1 NUMA nodes
EAL: Multi-process socket /var/run/dpdk/rte/mp_socket
EAL: Selected IOVA mode 'PA'
EAL: No available hugepages reported in hugepages-1048576kB
EAL: Probing VFIO support...
EAL: PCI device 0000:00:05.0 on NUMA socket -1
EAL: Invalid NUMA socket, default to 0
EAL: probe driver: 1d0f:ec20 net_ena
EAL: PCI device 0000:00:06.0 on NUMA socket -1
EAL: Invalid NUMA socket, default to 0
EAL: probe driver: 1d0f:ec20 net_ena
Interactive-mode selected
testpmd: create a new mbuf pool <mbuf_pool_socket_0>: n=171456, size=2176, socket=0
testpmd: preferred mempool ops selected: ring_mp_mc
Warning! port-topology=paired and odd forward ports number, the last port will pair with itself.
Configuring Port 0 (socket 0)
Port 0: 16:61:BE:67:49:75
Checking link statuses...
Done
Error during enabling promiscuous mode for port 0: Operation not supported - ignore发布于 2022-03-08 15:47:27
根据拦截场景,有四个选项可以解决这个问题。
DPDK选项-1:远程终止使用带有MAC VLAN地址的单DPDK端口modification.
请按照以下步骤适当地捕捉流量。为
备选方案-1:
destination
sudo ./build/app/dpdk-pdump -- --pdump 'port=0,queue=*,tx-dev=./tx.pcap'。这将捕获从外部进入并写入tx.pcap.的数据包。
备选方案-2:
使用两个DPDK端口创建VM,--no-mac-updating.
dpdk应用程序,示例sudo ./build/app/dpdk-pdump -- --pdump 'port=0,queue=*,tx-dev=./tx.pcap'。这将捕获从外部进入并写入tx.pcap的数据包。
备选方案-3:
sudo ./build/basicfwd -l 2 --vdev=net_tap0,mac="mac address of DPDK port" -a <PCIe BDF>.
G 253
备选案文-4:
使用1 DPDK端口(AMAZON )创建VM,确保接口与内核driver.
ping -I <interface name> stackoverflow.com
./build/l2fwd -l 2 --vdev=net_pcap0,iface=<interface name> -- -p 1 -T 1 --no-mac-updating)
sudo ./build/app/dpdk-pdump -- --pdump 'port=0,queue=*,tx-dev=./tx.pcap'注意:
case.
option 3,因为它消除了对DPDK辅助进程的需求,并禁用了ASLR.。
https://stackoverflow.com/questions/71391465
复制相似问题