我想为Windows编写一个数据包嗅探器和编辑器.我希望能够看到进入和离开系统的所有数据包的内容,并可能修改它们.任何语言都可以,但我希望它运行得足够快,不会给系统带来负担.
我已经阅读了一些关于WinPcap的内容,但文档声称您不能使用WinPcap来创建防火墙,因为它不能丢弃数据包.什么工具可以帮我写这个软件?
我想监控HTTPS从我的应用程序到远程服务器的流量.我试图遵循这个指令,它适用于HTTP(没有s),但不是HTTPS.
怎么了?我应该在我的应用程序中编写一些自定义代码https-proxy吗?
如果我有一个大的HTTP数据包已被拆分成多个TCP数据包,我怎样才能将它们重新组合成一个HTTP数据包?基本上,在数据包的哪个位置,我想知道HTTP数据包何时开始/结束?我似乎无法在TCP标头中看到任何表示HTTP数据包开始或结束的标志/字段.
编辑:跟进回复.如果TCP管理流,它如何知道流何时开始和结束?这是由插座开合决定的吗?某些协议在某种程度上必须能够知道HTTP流/数据包何时开始和结束.这就是我想知道的.
我所处的情况是我在C#中使用数据包嗅探器读取TCP数据包,我希望能够重建HTTP请求/响应/等.像wireshark和其他各种嗅探器一样通过界面.或者,是否有任何C#库可以让您在更高级别进入HTTP流,从而节省了我自己重建HTTP流/数据包的麻烦?
谢谢.
Wireshark似乎无法实时更改过滤数据包的内容.
有没有人知道一个可以改变被过滤的数据包内容的symilar软件.
找到这样的东西真的会节省生命
谢谢.
我有一个PC软件(操作系统:Win 64bit),通过物理串口RS232与机器通信,我想使用python为该端口制作一个嗅探器.请注意,我是串口的初学者.
我已经阅读了多个在线发布的文档和问题,但大多数都要求使用第三方软件,但我不能这样做,因为原始字节必须被解码成字符串消息(我有自己的解码/编码方法) ).
目前我的设置如下:
/////////////////// Physical COM1 /////////////
// (PC) Software // <------------------------> // Machine //
/////////////////// /////////////
Run Code Online (Sandbox Code Playgroud)
我想要一个python输出通过COM1的任何字节.
期望的行为图(虚拟串口有一个问号,因为我不确定这是否是正确的方法):
/////////////////// Physical COM1 /////////////
// (PC) Software // <------------------------> // Machine //
/////////////////// | Virtual /////////////
| serial port?
v
//////////////////
// (PC) Sniffer // (Python)
//////////////////
|
v
(output bytes)
Run Code Online (Sandbox Code Playgroud)
谁知道高级串口监视器,它的"spymode"功能正是我想用python实现的.
我试过使用com0com和PortMon,但我找不到配置com0com来嗅探物理端口的方法(就我的观察而言,com0com只生成虚拟端口)而PortMon不支持Windows 64位.
我已经坚持了几天......任何评论/链接/答案都表示赞赏.谢谢,
我试图在Scapy中编写一个简单的嗅探器,它只使用GET方法打印HTTP数据包.这是代码:
#!/usr/bin/python
from scapy.all import *
def http_header(packet):
http_packet=str(packet)
if http_packet.find('GET'):
print GET_print(packet)
print packet
def GET_print(packet1):
print "***************************************GET PACKET****************************************************"
print packet1
print "*****************************************************************************************************"
sniff(iface='eth0',prn=http_header)
Run Code Online (Sandbox Code Playgroud)
这是输出:
*****************************************************************************************************
None
T???
)?pEa??@@???h??#/??t
?}LGku???U
oTE??I(????9qi???S?????
XuW?F=???-?k=X:?
***************************************GET PACKET****************************************************
T???
)?pE???@@???h??#/??t
?LGku????
oTE??I?K??AH?*?e??>?v1#D?(mG5T?o????8?????????"?KT^?'?mB???]?????k>
?_x?X?????8V???w/?Z?=???N?À??\r?????)+}???l?c?9??j;???h??5?T?9H?/O??)??P
?Y?qf??%?_`??6x??5D?I3???O?
t??tpI#?????$IC??E??
?G?
J??????=?]??v????b5^|P??DK?)uq?2????w?
tB??????y=???n?i?r?.D6?kI?a???6iC???c'??0dPqED?4????[?[??hGh???~|Y/?>`\6yP Dq??T??M????f?;??????? gY???di?_x?8|
eo?p?xW9??=???v?Ye?}?T???y?^?C
-?_(?<?{????}???????r
$??J?k-?9????}??f?27??QK??`?GY?8??Sh???Y@8?E9?R??&a?/vk???6?DF`?/9?I?d( ??-??[A
??)pP??y\?j]???8?_???vf?b????I7???????+?P<_`
*****************************************************************************************************
Run Code Online (Sandbox Code Playgroud)
我期待的是:
GET / HTTP/1.1
Host: google.com
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20140722 Firefox/24.0 Iceweasel/24.7.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Cookie: PREF=ID=758a20b5fbd4eac9:U=2b2dedf6c84b001f:FF=0:TM=1412150291:LM=1415430021:S=Q-QemmrLqsSsEA9i; NID=67=mRdkPVhtImrOTLi5I1e5JM22J7g26jAcdiDEjj9C5q0H5jj0DWRX27hCM7gLJBeiowW-8omSv-1ycH595SW2InWX2n1JMMNh6b6ZrRsZ9zOCC2a-vstOQnBDSJu6K9LO
Connection: keep-alive …Run Code Online (Sandbox Code Playgroud) 我已经成功地将jNetPcap编译为Android的共享库.我使用以下代码创建了一个简单的应用程序:http://jnetpcap.com/examples/classic来测试API.
问题是当我调用方法findAllDevs并引发异常时出现以下消息:"无法读取设备列表,错误发布:拒绝权限"
我无法理解原因,因为我已经在我的程序的第一部分进行了调用,以获得我的应用程序的root权限,并将我的应用程序测试到root电话.当我运行应用程序时,会弹出一条弹出窗口,显示以下消息:"SnifferApp已被授予超级用户权限",然后发生异常.
有任何想法吗?
这是我的一段代码:
Process p = Runtime.getRuntime().exec("su");
/*try {
Thread.sleep(10000);
} catch (InterruptedException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
} // do nothing for 1000 miliseconds (1 second)
*/
try {
System.loadLibrary(JNETPCAP_LIBRARY_NAME);
}
catch (UnsatisfiedLinkError e) {
System.out.println("Native code library failed to load.\n" + e);
}
/***************************************************************************
* First get a list of devices on this system
**************************************************************************/
int r = Pcap.findAllDevs(alldevs, errbuf);
r = Pcap.findAllDevs(alldevs, errbuf);
if (r == Pcap.NOT_OK || …Run Code Online (Sandbox Code Playgroud) 是否有任何方便的软件实用程序可用于在 MAC OSx 10.6 及更高版本上进行 USB 端口嗅探?我们可以在 Windows 中做到这一点,只需很少的免费软件和多个许可版本的软件实用程序...
我正在训练自己进行网络扫描,并且专注于如何识别网络上的嗅探器。在网上搜索,我发现一种可能的方法是ARP方法:我必须向可疑的无广播IP发送ARP请求,以检查它是否处于混杂模式。
我的疑问是:如果我的电脑是Windows 7机器,有没有办法手动发送ARP响应?可能来自命令行?