我正在尝试调试应用程序,它不是一个方便运行WireShark的地方.
我一直在使用"tcpdump -nn -x -X port 25",但输出并不是最方便的格式.思考?
我在 Android 应用程序中使用 TCPDump 时遇到问题。\n它应该逐行读取 tcpdump 的输出并在我的应用程序中处理它。
问题是:
有时代码工作正常,它会立即读取捕获的数据包。但有时,ReadLine 会阻塞,直到我从 Linux 控制台终止 tcpdump 进程(killall tcpdump)。这样做之后,我的循环会针对每一行进行处理(有时是 10 行,有时是 1 或 2 行) - 这意味着 readLine 应该有效,但没有 \xc2\xb4t。\n \n我读到了
类似的问题,但没有找到这个问题的任何解决方案...
谢谢!
public class ListenActivity extends Activity {\n\nstatic ArrayList<Packet> packetBuffer = new ArrayList<Packet>();\nstatic Process tcpDumpProcess = null;\nstatic ListenThread thread = null;\npublic static final String TCPDUMP_COMMAND = "tcpdump -A -s0 | grep -i -e \'Cookie\'\\n";\n\nprivate InputStream inputStream = null;\nprivate OutputStream outputStream = null;\n\n@Override\nprotected void onStart() {\n super.onStart();\n try {\n tcpDumpProcess = new ProcessBuilder().command("su").redirectErrorStream(true).start();\n …Run Code Online (Sandbox Code Playgroud) 我正在编写一个程序来分析某些类型的数据包.我得到了包含tcpdump格式的测试包的转储文件.有没有办法将此转储发送到其中一个接口?我认为tcpdump可以自己做(不幸的是它不是).我唯一能做的就是通过wireshark查看数据包(显然这不是一种方法).
我可以使用libpcap函数pcap_open_offline(),不幸的是我使用pcap_loop()哪个似乎没有用pcap_open_offline(),重写代码pcap_next()会非常痛苦.有没有可以将数据包发送到接口的程序?
我的电脑只有一张网卡.我有一个程序在一个端口上侦听.我打算在同一台机器上发送一个数据包,我的程序可以收到数据包.我无法在运行程序的机器上通过tcpdump捕获数据包.
如果我从另一台机器发送数据包,tcpdump可以捕获该数据包.
从服务器(* ux机器)到另一台机器的命令行URL列表请求方式。
例如,我在服务器ALPHA_RE的命令行上。我从提示符下对google.co.uk进行了ping操作,并对bbc.co.uk进行了另一种操作:
google.co.uk bbc.co.uk
因此,不是我要ping的机器的IP地址,也不是来自将我的请求传递给google.co.uk或bbc.co.uk的服务器的URL,而是实际的最终URL。
请注意,只有正常ubuntu信息库中可用的软件包才可用-它必须与命令行一起使用
编辑 最终目标是查看PHP脚本(由cronjob运行)请求的API URL ;以及服务器请求“实时”使用的API URL 。这些主要对多个URL进行GET和POST请求,我对了解这些参数很感兴趣:
是否要求:
foobar.com/api/whatisthere?and=what&is=there&too=yeah
Run Code Online (Sandbox Code Playgroud)
或者 :
foobar.com/api/whatisthathere?is=it&foo=bar&green=yeah
Run Code Online (Sandbox Code Playgroud)
Cron作业或服务器是否还会执行其他任何GET或POST请求?而且,无论这些API给出什么响应(如果有)。
另外,API列表是未知的-因此您不能grep到一个特定的URL。
编辑:( 指定了旧票证:请注意,我无法在该服务器上安装任何东西(没有额外的软件包,我只能使用“正常”命令-如tcpdump,sed,grep等...)//但获取这些信息使用tcpdump很难,然后我就可以安装软件包了)
我总是最终得到这个错误消息,"tcpdump:ioctl(SIOCIFCREATE):操作不允许"任何想法,我做错了什么.我在OS X Yosemite上运行它.
我想将tcpdump添加到yocto build中
我发现,我需要补充meta-networking到bblayers.conf.meta-networking是分开的meta-openembedded
以下是我遵循的步骤:
meta-openembedded:git clone git@github.com:openembedded/meta-openembedded.gitjethro分支并确认meta-networking/recipes-support/tcpdump/tcpdump_4.7.4.bb存在meta-networking及其依赖包bblayers.confBBLAYERS
/home/linux/work/yocto/poky/meta-openembedded/meta-oe \
/home/linux/work/yocto/poky/meta-openembedded/meta-networking \
/home/linux/work/yocto/poky/meta-openembedded/meta-python \
Run Code Online (Sandbox Code Playgroud)
启动BBB(Beaglebone black)后,我仍然无法看到tcpdump二进制文件.我很确定我错过了一些东西.我是yocto的新手.任何指导都会非常有帮助.
我正在使用tcpdump捕获网络数据包,并且在开始丢弃数据包时遇到问题。我运行了一个通过网络快速交换数据包的应用程序;导致较高的网络带宽。
>> tcpdump -i eno1 -s 64 -B 919400
126716 packets captured
2821976 packets received by filter
167770 packets dropped by kernel
Run Code Online (Sandbox Code Playgroud)
由于我只对TCP数据包中与协议相关的部分感兴趣,我想收集没有数据/有效载荷的TCP数据包。我希望这种策略也可以帮助在丢弃数据包之前捕获更多数据包。看来我只能将缓冲区大小(-B参数)增加到一定限制。即使具有更高的限制,我丢弃的数据包也比捕获的更多。
你能帮助我理解上面的信息和问题吗
在Xilinx ZCU102开发板上运行Linux。使用1000BASE-X和三模式以太网Mac时。我可以从以太网端口发送ping命令,但是当我运行tcpdump尝试显示数据包正在进入系统时...我从tcpdump中收到一个奇怪的错误。
tcpdump -I eth1
tcpdump: eth1: That device doesn't support monitor mode
Run Code Online (Sandbox Code Playgroud)
好奇是否有人对tcpdump的此错误消息有任何了解。
tcpdump如何知道设备是否支持监控模式?它是否在设备树的eth1设备节点中查找内容?
请参考示例包:
2010-08-22 21:35:26.571793 00:50:56:9c:69:38 (oui Unknown) > Broadcast,
ethertype Unknown (0xcafe), length 74
0x0000: 0200 000a ffff 0000 ffff 0c00 3c00 0000 ............<...
0x0010: 0000 0000 0100 0080 3e9e 2900 0000 0000 ........>.).....
0x0020: 0000 0000 ffff ffff ad00 996b 0600 0050 ...........k...P
0x0030: 569c 6938 0000 0000 8e07 0000 V.i8........
Run Code Online (Sandbox Code Playgroud) tcpdump ×10
linux ×4
android ×1
arm ×1
bash ×1
c ×1
command-line ×1
device-tree ×1
http ×1
java ×1
networking ×1
osx-yosemite ×1
pcap ×1
recipe ×1
terminal ×1
yocto ×1