标签: sniffing

Python中的数据包嗅探(Windows)

使用Python嗅探网络数据包的最佳方法是什么?

我从几个地方听说,最好的模块是一个名为Scapy的模块,不幸的是,它使我的系统上的python.exe崩溃.我会认为这只是我安装它的一个问题,除了很多其他人告诉我它在Windows上运行效果不佳.(如果有人有兴趣,我正在运行Windows Vista,这可能会影响事情).

有谁知道更好的解决方案?

UPD:

在阅读了告诉我安装PyPcap的答案之后,我稍微搞砸了一下,发现我曾尝试使用的Scapy也告诉我安装PyPcap,除了它是一个修改版本供它使用.正是这个修改过的PyPcap导致了问题,显然,因为答案中的例子也导致了问题.

我安装了原始版本的PyPcap(来自谷歌的网站),而且Scapy开始工作正常(我没有尝试过很多东西,但至少它在我开始嗅探时没有崩溃).我向Scapy开发人员发送了一张新的缺陷票:http://trac.secdev.org/scapy/ticket/166 ,希望他们能用它做点什么.

无论如何,只是想我会让你们都知道.

python sniffing sniffer

11
推荐指数
3
解决办法
5万
查看次数

如何在不使用PCap的情况下在.NET中嗅探本地传出网络流量?

我想以某种方式挂钩到本地系统的网络堆栈,以捕获传出的网络数据包而不使用Winpcap.不幸的是,它偶尔会使我的系统崩溃.

有没有办法从用.NET语言编写的用户空间进程"嗅探"本地系统的传出流量?

.net c# networking sniffing

11
推荐指数
1
解决办法
2万
查看次数

11
推荐指数
1
解决办法
9084
查看次数

嗅探来自Fiddler的Android应用程序的HTTPS流量失败,只有Fiddler中的"Tunnel To"条目

我试图从我的root设备(4.4.4)捕获HTTPS流量,以分析应用程序的未记录协议.我已将我的Fiddler设置为代理并启用HTTPS嗅探.我在我的设备上安装了Fiddler生成的根证书.我在Android设备上为我的Wifi设置了代理.

  • 当我运行浏览器并导航到任何HTTP或HTTPS站点时,Fiddler可以成功捕获流量.

  • 当我运行一些应用程序(例如我自己的应用程序使用Parse作为其后端)时,我可以看到服务器的所有HTTPS流量,已解密.到现在为止还挺好.

  • 当我尝试运行该特定应用程序时,我无法让Fiddler捕获其流量.以下是我对Fiddler的全部看法:

在此输入图像描述

URL是一些IP地址:SSL(:443).

我也尝试过使用ProxyDroid.有趣的是,我能够捕获流量一次,看到解密的HTTPS连接到该应用程序的服务器,但在此之后,它再也没有捕获.我知道该应用程序使用HTTPS,而不是未知/其他协议.

如何成功捕获HTTPS流量,为什么Fiddler会为该应用程序工作,然后突然停止工作?

https proxy android sniffing fiddler

11
推荐指数
2
解决办法
6333
查看次数

Mac OS X上的奇怪RAW套接字

当我在Mac OS X上运行一个用C编码的简单数据包嗅探器时,我根本没有输出,这是一个奇怪的事情!有人可以帮我理解发生了什么.

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>

int main(void) {
   int i, recv_length, sockfd;

   u_char buffer[9000];

   if ((sockfd = socket(PF_INET, SOCK_RAW, IPPROTO_TCP)) == -1) {
        printf("Socket failed!!\n");

        return -1;
   }

   for(i=0; i < 3; i++) {
      recv_length = recv(sockfd, buffer, 8000, 0);
      printf("Got some bytes : %d\n", recv_length);
   }

   return 0;
}
Run Code Online (Sandbox Code Playgroud)

我编译它并在我的盒子上运行它没有任何进展:

MacOsxBox:Desktop evariste$sudo ./simpleSniffer
Run Code Online (Sandbox Code Playgroud)

谢谢你的帮助.

c sockets macos sniffing packet-sniffers

10
推荐指数
1
解决办法
6813
查看次数

在C#中,我如何收听已经打开的COM(串行)端口?

我正在使用一个与我的COMM端口对话的程序,但是我已经创建了另一个程序,我想"嗅探"通信端口消息,并对这些消息执行它自己的操作.这在.NET c#中是否可行?

c# serial-port sniffing listener

9
推荐指数
1
解决办法
2万
查看次数

了解Tcpdump过滤器和位屏蔽

我试图通过使用tcpdump来嗅探http标头.

这个过滤器运行良好,但我无法理解 -

(((ip[2:2] - ((ip[0]&0xf)<<2)) - ((tcp[12]&0xf0)>>2)) != 0)
Run Code Online (Sandbox Code Playgroud)

我用谷歌搜索了它,但我找不到任何有用的信息

这是整个tcpdump命令

sudo tcpdump -A 'dst [dest host] or src [src host]  and tcp  and 
(((ip[2:2] - ((ip[0]&0xf)<<2)) - ((tcp[12]&0xf0)>>2)) != 0)' -i eth0
Run Code Online (Sandbox Code Playgroud)

linux networking sniffing tcpdump packet-sniffers

9
推荐指数
1
解决办法
9198
查看次数

不推荐使用jQuery.browser,但是如何使用.support?

在我的网页上,我有这个CSS:

tr:hover {
    background-color: #f0f;
}
Run Code Online (Sandbox Code Playgroud)

除了好的旧IE之外,它在所有浏览器中都能很好地工作.我知道我可以写一些jQuery来添加和删除鼠标上/下的一个类,但我不想让所有其他支持:hover正确的浏览器出现问题- 所以我只想应用这个浏览器的JS行为本身不支持纯CSS解决方案.

当然,我们都知道这$.browser已被弃用了,而且我们都知道浏览器嗅探是一件坏事,SO上的所有其他问题都有大量的答案,就像"你不应该检查浏览器,检查为特征 ",而这一切都很好,当这些人生活的神奇仙境,但我们其他人需要得到我们的网站工作,看着对面IE6和其他浏览器确定.

$.support IE6和7看起来像这样:

leadingWhitespace: false
tbody:             false
objectAll:         false
htmlSerialize:     false
style:             false
hrefNormalized:    false
opacity:           false
cssFloat:          false
scriptEval:        false
noCloneEvent:      false
boxModel:          true
Run Code Online (Sandbox Code Playgroud)

我到底该如何使用这些属性来确定是否tr:hover有效?

是的我知道在这个例子中,它是相当无害的,我可能可以通过不向IE用户提供该功能,或者通过在所有浏览器中模拟它来逃避,但这不是重点.$.browser当你$.support没有接近替换它时,你应该如何停止使用?

jquery cross-browser sniffing

8
推荐指数
1
解决办法
750
查看次数

Scapy以无阻塞的方式嗅闻

在阻止方式中,我可以这样做:

from scapy.all import *

sniff(filter"tcp and port 80", count=10, prn = labmda x:x.summary())
# Below code will be executed only after 10 packets have been received
do_stuff()
do_stuff2()
do_stuff3()
Run Code Online (Sandbox Code Playgroud)

我希望能够以非阻塞的方式用scapy嗅探数据包,如下所示:

def packet_recevied_event(p):
   print "Packet received event!"
   print p.summary()

# The "event_handler" parameter is my wishful thinking
sniff(filter"tcp and port 80", count=10, prn=labmda x:x.summary(), 
                                  event_handler=packet_received_event)

#I want this to be executed immediately
do_stuff()
do_stuff2()
do_stuff3()
Run Code Online (Sandbox Code Playgroud)

总结一下:我的问题非常清楚,我希望能够继续执行代码而不用阻止它的嗅探功能.一种选择是为此打开一个单独的线程,但我想避免它并尽可能使用scapy本机工具.

环境细节:

python:2.7

scapy:2.1.0

os:ubuntu 12.04 64bit

sniffing scapy python-2.7

8
推荐指数
1
解决办法
3484
查看次数

我怎样才能在Java中嗅探网络流量?

我只是四处寻找如何制作一个可以用Java嗅探网络流量的程序,但我找不到任何东西.我想知道是否有任何方法可以查看网络流量.我听说过一个Socket的想法,但是我不明白这是怎么回事.所以无论如何,只是寻找API或自己编写它的方法.

编辑: 我很乐意喜欢API,但我还想澄清使用Socket嗅探流量的方法.

java sockets sniffing

8
推荐指数
1
解决办法
3万
查看次数