如何仅使 Wireshark 过滤 POST 请求?
任何人都可以推荐一个 linux 命令行工具来监视本地服务器和指定 IP 地址/端口之间传输的字节数。
等效的 tcpdump 命令将是:
tcpdump -s 0 -i any -w mycapture.trc port 80 host google.com
输出:
46 packets captured
131 packets received by filter
0 packets dropped by kernel
Run Code Online (Sandbox Code Playgroud)
我想要类似的输出:
54 bytes out, 176 bytes in
Run Code Online (Sandbox Code Playgroud)
我希望它在 RHEL 上工作并且是免费/开源的。如果有一个我也缺少的现有工具就好了!
线鲨 | 视窗
我想搜索特定地址/消息的 SMTP 流量的数据包捕获。通常,我只是对信息列进行排序并浏览,但如果我可以对我正在寻找的特定字符串运行搜索或过滤器,那就太好了。
有没有办法在 Wireshark 中做到这一点?
我发现了很多信息表明情况确实如此,但是,我真的在寻找这背后的原因。为什么有必要?有必要吗?
我希望 tcpdump 捕获 VLAN 1000 或 VLAN 501。man pcap-filter说:
可以多次使用 vlan [vlan_id] 表达式来过滤 VLAN 层次结构。每次使用该表达式都会将过滤器偏移量增加 4。
当我做:
tcpdump -vv -i eth1 \( vlan 1000 \) and \( ip host 10.1.1.98 or ip host 10.1.1.99 \)
Run Code Online (Sandbox Code Playgroud)
我得到捕获的数据包。
但是当我这样做时:
tcpdump -vv -i eth1 \( vlan 1000 or vlan 501 \) and \( ip host 10.1.1.98 or ip host 10.1.1.99 \)
Run Code Online (Sandbox Code Playgroud)
我没有收到任何数据包——我推测是因为手册页中描述的“增加 4”行为。
如何一次捕获多个 VLAN 上的流量?
我有一个带有 2 个以太网卡的 Linux 系统(假设为 A),即 eth0 和 eth1,它们连接到两个完全不相关的 LAN。
基本上 eth0 用于正常的应用程序流量,而 eth1 仅用于调试目的。调试意味着 eth1 使用交叉电缆连接到另一个运行 Wireshark 的 linux 机器(假设它是 B)。我希望 Wireshark 能够处理在 A 的 eth0 上传输的应用程序数据包。
基本上,我需要将行进的数据包从 eth0 接口复制到接口 eth1,以便 B 盒上的 Wireshark 可以嗅探它们(由于某些原因,我无法物理访问 LAN eth0)。我还可能需要根据某些规则(顺便说一下,仅基于 TCP/IP 字段)指定要从 eth0 复制到 eth1 的数据包。
另请注意,不需要将 A 的 eth0 置于混杂模式,因为我只想复制以 A 作为目标的数据包子集
有没有办法单独使用 iptables 来实现这一目标?或者我需要编写一个应用程序来完成这项工作吗?我该怎么做才能“复制”数据包?
为了进行故障排除,我需要查看电子邮件通过 SMTP 发送到我的 sendmail 服务器时的样子。上游服务器需要 SMTP 连接才能使用 STARTTLS,因此数据包捕获仅显示加密数据。
有没有办法使用wireshark来解密传输并查看?当然,假设我在我的 sendmail 服务器上使用了私钥?
我看到有几个程序可以在线参考RSA key listswireshark 中的功能(例如:https : //support.citrix.com/article/CTX116557)。但这似乎仍然对我不起作用。
这与前向保密有关吗?我可以不在较新的协议/密码上执行此操作吗?
我正在尝试设置一个仅捕获传入流量的过滤器(因此我的日志文件不是很大)。我查看了http://wiki.wireshark.org/CaptureFilters,但到目前为止一直无法找到一种方法来做到这一点。有谁知道怎么做?
作为一个附带问题,在 Wireshark 中登录到多个文件时,您可以稍后查看完整的数据包信息吗?
logging wireshark filter windows-server-2008-r2 packet-capture
几个不同的地方(例如http://wiki.wireshark.org/CaptureSetup/NFLOG)推荐使用 Linux 的“NFLOG”防火墙模块来捕获特定 UID 生成的数据包,如下所示:
# iptables -A OUTPUT -m owner --uid-owner 1000 -j CONNMARK --set-mark 1
# iptables -A INPUT -m connmark --mark 1 -j NFLOG --nflog-group 30
# iptables -A OUTPUT -m connmark --mark 1 -j NFLOG --nflog-group 30
# dumpcap -i nflog:30 -w uid-1000.pcap
Run Code Online (Sandbox Code Playgroud)
我一直无法找到任何关于它是如何工作的文档(特别是,netfilter.org有很多写得很糟糕的库 API 文档,据我所知,在实际内核级防火墙的语义上没有任何内容规则),所以我有几个问题:
是否有任何该死的文档,它藏在哪里?
CONNMARK的东西真的有必要吗?也就是说,这也能正常工作吗?
# iptables -A INPUT -m owner --uid-owner 1000 -j NFLOG --nflog-group 30
# iptables -A OUTPUT -m owner --uid-owner 1000 -j NFLOG --nflog-group …Run Code Online (Sandbox Code Playgroud)使用 HAProxy 1.6 和一个聪明的 hack,我现在有一个 HAProxy tcp 模式前端,它检测浏览器是否支持 SNI,并基于此,路由到一个强加密的 SSL 终止后端,或更弱的一个。这确保了 SSL 实验室的 A+ 等级,同时仍然允许除 IE6 之外的所有浏览器使用 SSL。
这是我的配置。它有一些模板变量应该是不言自明的,但不在与我的问题相关的领域:
frontend https_incoming
bind 0.0.0.0:443
mode tcp
option tcplog
tcp-request inspect-delay 5s
tcp-request content accept if { req.ssl_hello_type 1 }
use_backend https_strong if { req.ssl_sni -m end .transloadit.com }
default_backend https_weak
backend https_strong
mode tcp
option tcplog
server https_strong 127.0.0.1:1665
frontend https_strong
bind 127.0.0.1:1665 ssl crt ${DM_ROOT_DIR}/envs/ssl/haproxy-dh2048.pem no-sslv3 no-tls-tickets ciphers ${strongCiphers}
mode http
option httplog
option httpclose
option forwardfor if-none …Run Code Online (Sandbox Code Playgroud)