问题描述
- 关于使用C语言自己写pcap文件,使用wireshark读取的问题
-
命令行下netsh trace命令抓取的网络包放在了.etl文件里,怎么提取抓到的数据包,并且把它对应的进程ID从etl文件中拿到
命令如下:C:windowssystem32> netsh trace start capture=yes tracefile="e: est.etl"
*******开始关联(就是在抓取 当前计算机上de网络数据包)
C:Wndowssystem32> netsh trace stop生成test.etl文件,可以使用NetWork Monitor 3.4打开查看,网上也有很多教程,请问有人对etl文件进行过处理吗?
我在网上查阅资料之后使用tdh库函数可以获取etl里的文件。
想做的工作就是自己把etl文件里的内容拿出来,就相当于自制一个NetWork Monitor可是,这是最终的目标。现在出现很多问题。就目前而言只希望能够把数据包写入pcap文件能够使用wireshark进行读取。就这都出现很多错误。
程序都是用C语言写的。我现在可以拿到网络数据以及PID(不知道怎么获取进程名称),就是从以太帧头开始到数据所有的十六进制字符串。
现在把他们都按照pcap文件的格式写进pcap文件,命名方式为Pid_etl.pcap,希望成果是使用wireshark打开,并且能够查看对应五元组的信息,也就是source address,dest address, source port, dest prot。 (以及Pid。)
UDP的数据包有些正确有些则显示错误,TCP的数据包写好之后有些正确,有些就被wireshark截断,报错说超出最大的长度。
解决方案
已解决,详细请看:
http://ask.csdn.net/questions/199693
解决方案二:
建议你先不要用windows 10,因为windows 10更改了底层的网络的实现,包括防火墙和驱动,安全机制也不同。
解决方案三:
C语言使用问题
时间: 2024-09-21 17:37:00