我在使用lua时很新颖。我的地区是在wireshark探索lua。我有一个捕获的pcap文件。我如何打开该文件并在不同的头文件中读取不同的内容(如tcp/udp头文件中的端口号,http头中的应用程序相关信息等)。
我很抱歉,这是一个直接的问题,但我没有任何可以参考的解决这个问题。我不能在哪里找到这些信息的例子。你们可以请一些方向/参考以利用。使用lua读取pcap文件
1
A
回答
4
wireshark中的Lua API非常强大。它可以用来编写解剖器,后解剖器和水龙头。您可以从Wireshark软件的帮助中的Lua Support in Wireshark
或Reference Manual开始。 wireshark官员Lua wiki也是有帮助的。请注意,一些代码示例已过时。
在你的情况下,只需要分析pcap文件。还有另一种方法可以这样做。 Wireshark命令工具Tshark
可用于分析pcap文件,并将结果输出到文本文件(或者,如果需要,还可以使用xml格式的文件)。您可以使用Lua
脚本调用tshark
并处理结果,如处理任何文本文件。
这里有一个例子,我写在Windows中分析Megaco
协议。如您所见,其他脚本语言也可以这种方式使用,特别是Perl
。但Lua
代码显然更优雅,而且在实践中更高效。
local XmlFile = io.popen('"C:\\Program Files\\Wireshark\\tshark" -nn -r 3gpp_mc.cap -d udp.port==1001,megaco -T pdml ')
--local XmlFile = io.open("xmlexample.xml", "r")
local RawXml = XmlFile:read("*all")
local Megaco = {}
for m in string.gmatch(RawXml, '<proto name="megaco".-</proto>') do
Megaco[#Megaco + 1] = m
end
local Item = {}
for i = 1, #Megaco do
for p in string.gmatch(Megaco[i], 'show=(".-")') do
print(p)
end
end
XmlFile:close()
UPDATE: 的关键是使用tshark
输出您需要的信息,让Lua
做文本处理。 Tshark
有一套丰富的参数供参考,详见here。下面是如何调用tshark
在您需要:
tshark -nn -r file.pcap -T fields -E separator=; -e frame.number -e ip.src -e ip.dst -e tcp.srcport -e tcp.dstport (tcp)
相关问题
- 1. 用Lua脚本读取PCAP文件
- 2. 使用jnetpcap从pcap文件读取ssid
- 3. 使用scapy读取PCAP文件
- 4. 如何使用lua编辑pcap文件
- 5. 用c读取Lua文件#
- 6. Lua读取只读文件
- 7. 使用lua读取文件元数据
- 8. 使用LUA读取和解析文件
- 9. 打开并读取多个pcap文件
- 10. 的Lua:读取文件
- 11. 阅读PCAP文件列表
- 12. 使用Java读取和输出.pcap文件
- 13. 用pcap读取套接字
- 14. 用Lua读取和解析.MID文件?
- 15. 用lua读取/写入属性文件
- 16. 在Lua中读取文本文件
- 17. 文件名使用subprocess.call读取pcap文件时出现太长错误
- 18. 恐慌错误而读取文件LUA
- 19. Lua文件:读取意外行为
- 20. Lua在一个文件中读取
- 21. 从Lua中读取文件cocos2d-x
- 22. ATM PCAP文件以太网PCAP文件
- 23. pcap的零读取超时
- 24. 是否可以使用Lua“向后”读取文件?
- 25. 将数据包读写到pcap文件
- 26. 阅读PCAP二进制文件到HDFS
- 27. 阅读pcap文件向量/数组
- 28. 阅读PCAP捕获文件崩溃
- 29. LUA - 读取位
- 30. 使用Lua从URL获取文件名
下面是其他一些环节: •Wireshark的用户指南:www.wireshark.org/docs/wsug_html_chunked/wsluarm.html •[Wireshark的维基:Lua中(HTTP ://wiki.wireshark.org/Lua) •[Wireshark Wiki:Lua - Examples](http://wiki.wireshark.org/Lua/Examples) •[Sharkfest09](http://sharkfest.wireshark。 org/sharkfest.09/index.html) - Developer Track演示文稿:由Stig Bjorlykke撰写关于Lua的脚本在Wireshark中 – joke
@Yu Hao你能写出小的2-3行脚本来打开一个包和输出,可以说src地址, ip头中的目的地址和tcp src端口以及tcp目的端口我可以从那里开始。谢谢你 –
@JustinCarrey查看更新部分。 –