通过检查我的无线路由器配置,我可以看到分配了 2 个 IP:
192.168.1.100-> 笔记本电脑(Macbook Air OSX 10.8.2,我运行的地方tcpdump)
192.168.1.101 -> ipad
但是如果我跑:
sudo tcpdump -i en0 host 192.168.1.101
我似乎无法从 iPad 获得大量流量。tcpdump似乎不时捕获一些包,但进行一些无线活动(例如浏览网络)根本不会生成任何条目。请注意,我在此测试中禁用了wifi 安全性 (WEP/WPA)。
知道我在这里做错了什么吗?
编辑:ifconfig en0
ifconfig en0 输出,如所问:
en0: flags=8963<UP,BROADCAST,SMART,RUNNING,PROMISC,SIMPLEX,MULTICAST> mtu 1500
ether 98:fe:94:45:36:8a
inet6 fe80::9afe:94ff:fe45:368a%en0 prefixlen 64 scopeid 0x4
inet 192.168.1.100 netmask 0xffffff00 broadcast 192.168.1.255
media: autoselect
status: active
Run Code Online (Sandbox Code Playgroud)
编辑:ifconfig(全部)
完整ifconfig输出(请注意,它是没有以太网端口的 macbook air):
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384
options=3<RXCSUM,TXCSUM>
inet6 fe80::1%lo0 prefixlen 64 scopeid 0x1
inet 127.0.0.1 …Run Code Online (Sandbox Code Playgroud) 我正在运行以下版本的 tcpdump:
我想让 tcpdump 为它捕获的每个数据包写入一个文件。目前,如果我退出 tcpdump,我只能看到捕获的数据包。
tcpdump -i em1 -w /tmp/pkts.pcap -s 1500
Run Code Online (Sandbox Code Playgroud)
我需要退出才能打开/tmp/pkts.pcap- 在此之前我认为 tcpdump 正在缓冲。有没有办法让 tcpdump 立即写入文件而不是缓冲?
假设我有一个应用程序服务器 (Linux) 在端口 80 上运行,我如何确保(我猜是使用 tcpdump)所有传入的请求都被 gzipped 并且所有响应也被 gzip 压缩?此外,由于服务器本身调用另一台服务器(Windows),我如何检查与该另一台服务器之间的传出和传入包(如果它们被压缩,我的意思是)?谢谢
我正在使用第三方工具在网络测试期间将网络流量捕获为 pcap 文件。当我尝试播放这些文件时,我使用tcpdump带有-Aq -r选项的工具,并将输出通过管道传送到 grep。一些捕获的大小为 600 KB,这看起来并不大,但读取它们仍然需要相对较长的时间。
是否tcpdump实时读取 pcap 文件,如果是,我该如何加快速度?
这是我选择的tcpdump选项所做的:
-A 以 ASCII 格式打印数据包(减去标头),因此它对 grep 和人类友好。-q 打印更少的信息,以获得更快的输出。-r <FILE> 读入给定的 pcap 文件。这是我运行的实际命令的示例,其中打印 16 行需要 45 秒,而我预计执行时间几乎是即时的,或者最多几秒钟:
$ tcpdump -Aq -r z2121ecbc0186d9fa07b.pcap | grep POST
Run Code Online (Sandbox Code Playgroud)
鉴于捕获的持续时间不到一分钟,我开始认为这tcpdump -r会导致捕获实时回放,但我在手册页或在线找不到任何内容来确认这一点,当然也没有这告诉我是否有办法关闭实时播放。
我正在尝试监视网络中发生的情况,因此我尝试了tcpdump命令。我只是在学习使用它,所以我想玩一下它。
我的问题是我不能只使用没有任何参数的 tcpdump 捕获任何数据包。
当我输入时tcpdump,我得到了这个答案:
tcpdump:链接类型 BLUETOOTH_HCI_H4_WITH_PHDR 不支持数据包打印:使用 -w
所以我尝试了 tcpdump:tcpdump -w archivito我得到了这个:
监听 bluetooth0,链接类型 BLUETOOTH_HCI_H4_WITH_PHDR(蓝牙 HCI UART 传输层加伪头),
捕获大小 65535 字节
0 数据包捕获
过滤器接收到62个数据包
内核丢弃了 0 个数据包
所以存档文件是空的,所以我试过了:tcpdump port 80我得到了这个回复:
tcpdump:未实现蓝牙链路层类型过滤
我如何从 tcpdump 获得一些输出?我已阅读有关此命令的手册页,但不明白为什么它对我不起作用。
所以,然后我尝试了sudo tcpdump -w archivito,我得到了这个输出:
tcpdump:警告:eth0:没有分配 IPv4 地址 tcpdump:监听 eth0,链接类型 EN10MB(以太网),捕获大小 65535 字节
它在那里停留了一段时间,但我仍然得到的是
0 数据包捕获
过滤器收到 0 个数据包
内核丢弃了 0 个数据包
最后我尝试了sudo tcpdump -i any,并且成功了(它捕获了几个数据包)。但是为什么它只在要求它在所有接口中进行监控时才起作用?
我有一个包含许多不同数据包的转储文件,但我想有选择地重放,例如,仅将所有 udp 数据包重放到给定的端口号,而不必先编辑转储文件。
如何?
使用 tcpdump 时,如何仅打印数据包数据?
例如(匿名):
sudo tcpdump -X 'tcp port 80 and (((ip[2:2] - ((ip[0]&0xf)<<2)) - ((tcp[12]&0xf0)>>2)) != 0)'
10:23:59.521551 IP dhcp227.asdfasdf.com.47142 > sjc-not7.sjc.dropbox.com.www: Flags [P.], seq 5074:5341, ack 6420, win 2448, options [nop,nop,TS val 7955335 ecr 585615613], length 267
0x0000: 4500 013f 7913 4000 4006 72ee ac10 01e3 E..?y.@.@.r.....
0x0010: c732 d894 b826 0050 9455 3f65 51f9 a5f4 ./...&.P.U?eQ...
0x0020: 8018 0990 4ee9 0000 0101 080a 0079 6387 ....N........yc.
0x0030: 22e7 c8fd 4745 5420 2f73 7562 7363 7269 "...GET./subscri
0x0040: …Run Code Online (Sandbox Code Playgroud) 在 LAN 上,当我tcpdump在我的eth0接口上使用来监视数据包时,尽管其他计算机正在使用 Internet,但没有任何反应。
只有当我通过访问网站开始使用互联网时,才会开始出现输出。为什么这个?
我有一个通过 HTTP 端口 7474 通信的数据库(叹气),我想调试发送到/从它发送的查询。但是,过滤器如
http.request.method == "POST"
Run Code Online (Sandbox Code Playgroud)
过滤掉发送到其他端口的每个 post 消息。
最初,我认为过滤语法是在tcpdumpand 中共享的Wireshark,但是使用哪个工具对我来说并不重要,只要它有效:)
我的家庭网络中有华硕 RT-AC87U 路由器。我想像 Wireshark 一样分析特定端口上的数据包。是否有可能建立这样的系统,可以使流量通过路由器分析?如何?
我正在寻找一种方法来查看通过 TCP 端口在两台计算机之间传输的数据。
是否有允许这样做的软件包?我想我可以编写一些脚本来将来自一个端口的数据重新路由到另一个端口并保存数据,但必须已经有一些东西可以做到这一点。有免费的东西吗?
伙计们,我正在尝试将 tcpdump 测试到 google.com(顺便说一下,我是 Linux 新手)。
所以这是我在 shell 中输入的内容:
$tcpdump src 192.168.1.xxx and dst www.google.com and port ftp
Run Code Online (Sandbox Code Playgroud)
但我收到此错误:
tcpdump: no suitable device found
Run Code Online (Sandbox Code Playgroud)
伙计们可能是什么原因?