我正在寻找比Wireshark更好的工具.Wireshark的问题在于它没有格式化数据层(这是我正在查看的唯一部分),因为我可以比较不同的数据包并尝试理解第三方编码(这是封闭源代码).
具体来说,什么是查看数据的好工具,而不是TCP/UDP头信息?特别是,一种格式化数据以进行比较的工具.
非常具体:我想要一个用十六进制比较多个(不仅仅是2个)文件的程序.
我想编写一个有 2 个线程的程序,一个线程连续从网络捕获数据包并每 t 秒将它们转储到缓冲区中,另一个线程连续读取该缓冲区并每 t 秒处理它。这可以在 C 中完成吗?或者 Java 会是更好的选择吗?
我想测试我刚刚针对中间人攻击的服务器的漏洞.
如何(在Mac OS X上)我分析数据包.(我将检查它们的去向,从他们前往我的服务器时获取信息,并查看所有可用的信息)然后我会想出一种加密所有内容的方法......但首先要做的事情.
任何有关数据包嗅探的帮助将不胜感激.
我的首选语言是java.但我可以做C++.
所以,我的问题是:"我可以与任何类型的API /库进行交互吗?"
就像,如果我可以做PacketSniffer ps = new PacketSniffer(); 这将是惊人的.
在尝试研究BLE时,我想知道是否可以通过Wireshark和Snort等工具对其进行分析?我碰到一个名字叫“ ubertooth”的东西,但这是一个USB设备,需要购买它才能让我们在BLE框架上进行DPI处理,对吗?是否可以捕获和分析鲨鱼上的BLE帧?
谁能为c ++建议一个好的数据包嗅探器类?寻找一个易于插入的类,我可以在我的c ++程序中使用,没有什么复杂的.
我一直想知道软件防火墙是如何工作的,并且希望能够编写我自己的自定义工具来分析或拦截数据包,然后再由操作系统发送或接收.我非常熟悉核心网络原则; 如果我想编写适合网络堆栈的软件,我就不知道从哪里开始,类似于防火墙的方式.谁能给我一些指示?
如果可以使用C#完成,我会特别感兴趣,但我也可以做其他语言.我主要关注Windows,但想知道是否还有任何跨平台库.
编辑使用NDIS驱动程序(如Wireshark所做的那样)听起来是一个不错的选择,Vista的数据包过滤功能听起来很整洁,但防火墙如何在Windows XP上进行操作?他们不必安装我所知道的特殊驱动程序.
我很困惑何时使用ntohs和ntohl.我知道你在uint16_t和ntohl uint32_t使用ntohs的时候.但是那些使用unsigned int或者指定了特定位数的那些(例如u_int16_t doff:4;).
这是我的工作代码来说明问题:
// Utility/Debugging method for dumping raw packet data
void dump(const unsigned char *data, int length) {
unsigned int i;
static unsigned long pcount = 0;
// Decode Packet Header
struct ether_header *eth_header = (struct ether_header *) data;
printf("\n\n === PACKET %ld HEADER ===\n", pcount);
printf("\nSource MAC: ");
for (i = 0; i < 6; ++i) {
printf("%02x", eth_header->ether_shost[i]);
if (i < 5) {
printf(":");
}
}
printf("\nDestination MAC: ");
unsigned short ethernet_type = ntohs(eth_header->ether_type);
printf("\nType: …Run Code Online (Sandbox Code Playgroud) 我正在开发一个项目,在该项目中我获取了部分 Base64 编码数据,但不是全部。是否有可能找出 Base64 编码数据的那部分是什么?
\n\n例如。说我base64编码hello world
它成为了aGVsbG8gd29ybGQ=
但说我只能捕捉sbG8gd29y
Base4 解码为哪个\xdd\xbd
我熟悉base64编码过程的工作原理,并且我无法想出一种方法来找出base64编码消息的哪一部分,而无需将数据随机添加到正面和背面的块中并与字典单词进行比较,但问题是我我什至不能 100% 确定我正在使用的数据包含字典单词。
\n\n谢谢
\n我在这里阅读了有关WinPcap如何过滤数据包的信息,并检查了GitHub ( Microsoft/Windows-driver-samples ) 中的ndis/filter 项目。我在下面提供了WinPcap页面的主要数据,因为它们与问题相关。
我的主要问题:如果NPF丢弃一个数据包(数据包),这意味着数据包将不会被捕获或数据包将不会被发送/接收?例如(据我所知):
接收数据包的情况相同(通过ReceiveNetBufferListsHandler 和 ReturnNetBufferListsHandler函数)。
我是否正确理解有机会通过 NPF 丢弃数据包,将其发送到网络/从网络接收数据包,并将其从“捕获数据包列表”中删除?
如果是,如何实现正确丢包?
我没有找到通过SendNetBufferListsHandler / SendNetBufferListsCompleteHandler和ReceiveNetBufferListsHandler / ReturnNetBufferListsHandler函数丢弃数据包的代码示例。
我希望能够读取我的 Android 手机的流量以查看它正在发送哪些数据。它运行的是Android 9。
我已经能够使用 Charles,但它只能读取没有 SSL 的流量。看来,如果我正在测试自己的应用程序,我可以设置一些内容,以便它信任证书,但我正在尝试获取所有流量(所有应用程序等)。我也使用过 Packet Capture 和 NetCapture 应用程序,但它们也有相同的限制。
这段视频是那个人能够做到的,但它似乎是旧版本的 Android,其中所有应用程序都会信任用户安装的证书。
有人有什么想法吗?