标签: tcpdump

如何在Unix上使用TCPDump查看发送到特定多播地址的消息?

我正在尝试查看传输到网络上特定多播地址的流量,以便分析我们正在使用的协议.

我没有在设置上使用Wireshark(不幸的是).TCPDump虽然可用.那么,任何人都可以告诉我一个命令有TCPDump过滤器只能查看传输到一个多播组播组地址的消息吗?

networking multicast tcpdump

18
推荐指数
1
解决办法
5万
查看次数

tcpdump - 解析IP并跳过解析端口

如何tcpdump解析名称并保留端口号未解决?

来自男人:

-n     Don’t convert host addresses to names.  This can be used to avoid DNS lookups.
-nn    Don’t convert protocol and port numbers etc. to names either.
Run Code Online (Sandbox Code Playgroud)

设定tcpdump -nn跳过该决议地址和端口.

tcpdump

18
推荐指数
1
解决办法
6万
查看次数

如何连接两个tcpdump文件(pcap文件)

如何连接两个tcpdump文件,以便一个流量将在文件中出现?具体来说,我想"加倍"一个tcpdump文件,以便所有会话将一个接一个地重复顺序几次.

networking tcp tcpdump pcap wireshark

17
推荐指数
3
解决办法
3万
查看次数

使用tcpdump捕获RTP和SIP流量

我需要捕获SIP和RTP流量以发现问题.我可以很好地捕获SIP消息,但是捕获RTP流量时遇到问题.

我尝试了以下但是这只是取出SIP包而没有RTP.

tcpdump -T rtp -vvv src -s 1500 -i any -w /home/lantrace_test2.pcap port 5060

我想这样做的另一种方式是rtp使用一系列UDP端口,捕获我们用于RTP流量的范围,但我找不到捕获一系列端口的方法,因此不确定tcpdump是否支持捕获端口范围

感谢您的任何帮助,您可以提供

sip rtp tcpdump

16
推荐指数
2
解决办法
6万
查看次数

如何使用tcpdump过滤MAC地址?

我在DD-WRT路由器上运行tcpdump,以便从手机中捕获上行链路数据.我想只听一些mac地址.为此,我尝试使用类似于Wireshark的语法运行命令:

tcpdump -i prism0 ether src[0:3] 5c:95:ae -s0 -w | nc 192.168.1.147 31337

这样我就可以收听所有具有初始mac地址的设备5c:95:ae.

问题是语法错误,我想知道是否有人知道正确的语法来获得我想要的东西.

ethernet packet-capture tcpdump pcap wireshark

16
推荐指数
1
解决办法
7万
查看次数

使用tcpdump捕获LLDP数据包

使用tcpdump在接口上捕获LLDP报文的格式是什么?

我尝试了以下格式,但它的工作原理:

tcpdump -w test.pcap -i eth0 lldp -vv
Run Code Online (Sandbox Code Playgroud)

packet-capture tcpdump

16
推荐指数
1
解决办法
3万
查看次数

子流程变量

  1 import subprocess
  2 raw = raw_input("Filename:").lower()
  3 ip = raw_input("Host:").lower()
  4 cmd = subprocess.call("tcpdump -c5 -vvv -w" + " raw " + " ip ",shell=True)
Run Code Online (Sandbox Code Playgroud)

所以这是我的剧本.除了一个关键目标,我使用原始输入一切正常.它允许我输入我想要的任何东西,但是当它用于保存文件或使用ip/host时,doe实际上并没有做任何事情.当然它给了我数据包,但是从localhost而不是我输入的主机.

我怎么知道这不起作用是因为我的第一个原始输入是文件名,所以我放入测试,当我在文件夹中查看我的脚本是,它产生一个名为"raw"的文件意思,它实际上并没有带我的输入只使用我的"X"内的什么...

所以我有机会来到这个:

  1 import subprocess
  2 raw = raw_input("Filename:").lower()
  3 ip = raw_input("Host:").lower()
  4 cmd = subprocess.call("tcpdump -c5 -vvv -w" + raw + "host" + ip,shell=True)
Run Code Online (Sandbox Code Playgroud)

这很好,因为它实际上需要-w但它现在将其保存为rawhostip而不是"raw"输入.作为参考,这是该命令在终端中的样子:

tcpdump -c5 -vvv -w savename host wiki2
Run Code Online (Sandbox Code Playgroud)

只有两个变量是savename和wiki2,其余的变量需要命令才能工作.

使用此脚本我收到此错误:

import subprocess
raw = raw_input("Filename:").lower()
ip = raw_input("Host:").lower()
cmd = subprocess.call("tcpdump -c5 -vvv -w" + raw, "host" …
Run Code Online (Sandbox Code Playgroud)

python subprocess tcpdump

15
推荐指数
2
解决办法
3万
查看次数

交叉编译 - 用于x86的tcpdump

我需要tcpdump二进制文件android-x86.这是我做的:

sudo apt-get install gcc-i686-linux-android
sudo apt-get install byacc
sudo apt-get install flex

wget http://www.tcpdump.org/release/tcpdump-4.9.0.tar.gz
wget http://www.tcpdump.org/release/libpcap-1.8.1.tar.gz

tar zxvf tcpdump-4.9.0.tar.gz
tar zxvf libpcap-1.8.1.tar.gz

cd libpcap-1.8.1
export CC=gcc
./configure --host=i686-pc-linux-gnu --with-pcap=linux
make
cd .. 

cd tcpdump-4.9.0
export ac_cv_linux_vers=3
export CFLAGS=-static
export CPPFLAGS=-static
export LDFLAGS=-static
./configure --host=i686-pc-linux-gnu --disable-ipv6
Run Code Online (Sandbox Code Playgroud)

但是当我运行最后一个命令时,我收到以下错误:

configure: WARNING: unrecognized options: --disable-ipv6
checking build system type... x86_64-unknown-linux-gnu
checking host system type... i686-pc-linux-gnu
checking for i686-pc-linux-gnu-gcc... gcc
checking whether the C compiler works... yes
checking for C …
Run Code Online (Sandbox Code Playgroud)

binary android tcpdump android-x86

15
推荐指数
1
解决办法
1436
查看次数

将pcap转换为JSON的最简单方法

我有一堆用tcpdump创建的pcap文件.我想将这些存储在数据库中,以便于查询,索引等.我认为mongodb可能是一个不错的选择,因为以Wireshark/TShark将它们呈现为JSON文档的方式存储数据包似乎很自然.

应该可以使用tshark创建PDML文件,解析它们并将它们插入到mongodb中,但我很好奇是否有人知道现有/其他解决方案.

json tcpdump pcap wireshark libpcap

14
推荐指数
3
解决办法
1万
查看次数

在python中处理tcpdump输出

我试图在python中处理tcpdump输出.

我需要的是运行tcpdump(捕获数据包并给我信息)并读取输出并处理它.

问题是tcpdump一直在运行,我需要在输出后立即读取数据包信息并继续执行.

我试着查看python的子进程并尝试使用popen调用tcpdump并管道stdout但它似乎没有用.

关于如何进行此操作的任何指示.

import subprocess

def redirect():
    tcpdump = subprocess.Popen("sudo tcpdump...", stdin=subprocess.PIPE, stdout=subprocess.PIPE, shell=True)
    while True:
        s = tcpdump.stdout.readline()
        # do domething with s

redirect()
Run Code Online (Sandbox Code Playgroud)

python subprocess popen tcpdump

12
推荐指数
1
解决办法
2万
查看次数