问题标签 [packet-capture]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1049 浏览

c# - .NET 的 NetworkStream 如何在同一个数据包中分隔多个消息?

因此,我的任务是为我们的 QA 部门创建一个工具,该工具可以从网络中读取数据包并正确重组消息(他们不信任我们的日志……长篇大论)。

我试图监听其通信的应用程序正在使用 .NET 的 TcpListener 和 TcpClient 类进行通信。拦截数据包不是问题(我正在使用SharpPcap)。然而,将数据包正确地重新组装成应用程序级消息被证明有点困难。

一些数据包中包含一条消息的结尾和下一条消息的开头,我无法弄清楚 .NET 中的 NetworkStream 对象如何能够判断一个应用程序级消息在哪里结束而另一个在哪里开始。

我已经能够弄清楚任何包含应用程序级别消息结尾的数据包都将打开 TCP 标头“PSH”(推送)标志。但我无法弄清楚.NET 是如何知道该数据包内消息末尾的确切位置的。

一个数据包的数据可能如下所示:

流如何知道只发送到</Message>应用程序的末尾并存储其余部分,直到消息的其余部分完成?

没有为分段设置 IP 级别标志,并且 .NET 套接字不了解应用程序级别协议。所以我觉得这非常令人烦恼。任何见解将不胜感激。

0 投票
3 回答
785 浏览

c# - 使用 C# 进行网络编程

我有一个项目要做,那就是数据包监控。我想捕获指定网络接口接收的每个数据包。

我想知道我应该从什么开始做我的项目....我应该先学习套接字编程还是什么?我应该学习如何在 C# 下使用 winpcap 还是只做我自己的功能。

请告诉我应该从哪里开始!!!

我知道互联网上有很多 C# 代码,但我想自己学习,但我不知道从哪里开始!

0 投票
3 回答
1801 浏览

c - 接收不同 MAC 地址的数据包

是否可以在混杂模式下捕获一些数据包(例如使用 winpcap),然后强制操作系统(应用程序)接收它们,因为它们是为我们的 MAC 发送的?

我的观察如下。我们可以:

  • 使用混杂模式 (winpcap) 捕获所有网络流量
  • 使用 firewall-hook/filter-hook 过滤/修改数据包
  • 使用更改的 MAC 将数据包发送到网络

我不确定防火墙钩子是否可以访问由于混杂模式而可用的所有数据包。不是在下层吗?如果不能,唯一的解决方案是捕获所需的数据包,然后使用更改的 MAC 将它们重新发送到网络?

我是网络新手,所以请放轻松:)

任何帮助表示赞赏。提前致谢。

0 投票
3 回答
4532 浏览

http - 有没有办法在 Wireshark 中保存重新组装的 TCP

我正在尝试使用 Wireshark 嗅探一个多部分的 POST 请求。查看捕获时,我可以选择“重新组装的 TCP”,它看起来包含标题和传输中的所有数据。但是我似乎无法选择整个东西来保存它。如果我回到帧视图,我可以选择帧,这通常会选择整个传输,但最终只会保存发布数据。

如何保存整个重新组装的 TCP?

0 投票
3 回答
428 浏览

networking - HTTP 嗅探器在 LAN 设置中不起作用

我写了一个 HTTP 嗅探器程序,首先在我的独立电脑(Fedora)上运行它,它运行良好。当我在 LAN 设置(bus-LAN,Fedora OS 再次)中尝试此操作并将 eth0 设置为 promisc 模式时,程序仅捕获运行它的系统浏览的 URL,而不捕获相邻浏览的 URL系统。

我在这里错过了什么吗?我听说人们谈论“设置子网”、“使用路由器/附加以太网卡”等,但我不太明白其中哪些是相关的。

0 投票
1 回答
5035 浏览

routing - dd-wrt ​​路由器上的 tcpdump

我正在尝试从我的网络上的两个设备捕获数据包。

我在我的 dd-wrt ​​路由器上安装了 tcpdump 并且工作正常。

但是,当使用仅说明这两个设备的 tcpdump 语句时,我捕获的唯一数据包是广播数据包

我在接口 br0 上捕获。那是对的吗?

两个设备都直接插入端口 1 和 2,IP 地址分别为 192.168.3.105 和 192.168.3.136。

我需要将 br0 设置为混杂模式吗?

有点卡住。谢谢。

0 投票
2 回答
1941 浏览

c# - 如何使用 C# 捕获 HTTP 响应?

当 Web 浏览器发出请求时,如何捕获 HTTP 响应?

网页从服务中检索数据(带有帖子)。服务返回一个 json 对象。我想要的是捕获该json并实时解析它。

最简单的方法是什么?

0 投票
1 回答
1923 浏览

c - 打印嗅探数据包的序列号

我正在使用 pcap 创建数据包嗅探器。
我有这个 tcp 结构:

如何打印序列号?
我应该使用 htons(sequence_number) 吗?因为它不是这样工作的!

我的另一个问题是变量声明后的数字是多少?
tcph_hlen:4 中的 4 是什么意思

0 投票
3 回答
4017 浏览

python - “模块”对象没有属性“pcapObject”

我有以下似乎不想运行的示例代码。

我真的不知道为什么。我正在使用pypcap。我正在使用 mac osx(豹)在 2.5.1 和 2.6 版本的 python(单独的机器)上运行它。

0 投票
2 回答
2315 浏览

python - pcap 中缺少元素?

当我检查模块 pcap 可用的属性时,我希望看到类似

[ ...剪断...

'dltvalue'、'findalldevs'、'lookupdev'、'lookupnet'、'ntoa'、'pcapObject'、'pcapObjectPtr']

附注 pcapObject。但是,我在跑步时得到的dir(pcap)只是

[ ...剪辑...'版权',' doc ','文件','许可证','名称',' url ','版本','bpf','dltoff','ex_name','lookupdev ','pcap','系统']

注意缺少 pcapObject。为什么是这样?什么可能导致这种情况?