저는 루아 사용법이 매우 새롭습니다. 내 영역은 wireshark에서 루아를 탐험하는 것입니다. 캡쳐 된 pcap 파일이 있습니다. 어떻게 그 파일을 열고 다른 헤더 (TCP/UDP 헤더의 포트 번호, http 헤더의 응용 프로그램 관련 정보 등)에서 다른 것들을 읽을 수 있습니까?
직접적인 질문이므로 죄송합니다. 문제를 해결하기 위해 참조 할 내용이 없습니다. 이 정보를 어디에서 찾을 수 있습니까? 당신들은 어떤 방향/참고 자료에서 적어도 당신의 포인트를 사용해 주실 수 있습니까?루아를 사용하여 pcap 파일 읽기
1
A
답변
4
wireshark의 Lua API는 매우 강력합니다. 그것은 디 시터, 포스트 디피 리터 및 탭을 작성하는 데 사용할 수 있습니다. Wireshark 소프트웨어 도움말이나 Reference Manual에서 Lua Support in Wireshark
으로 시작할 수 있습니다. wireshark 공식 Lua wiki도 도움이됩니다. 일부 코드 예제는 시대에 뒤 떨어진 것입니다.
경우에 따라 pcap 파일 만 분석하면됩니다. 그렇게하는 또 다른 방법이 있습니다. Tshark
, Wireshark 명령 도구를 사용하여 pcap 파일을 분석하고 결과를 텍스트 파일 (또는 필요한 경우 xml 형식의 파일)로 출력 할 수 있습니다. Lua
스크립트를 사용하여 tshark
을 호출하고 텍스트 파일 처리와 같은 결과를 처리 할 수 있습니다.
다음은 Windows에서 Megaco
protocal을 분석하기 위해 작성한 예입니다. 보시다시피,이 방법으로 다른 스크립팅 언어, 특히 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. PCAP 파일 목록 읽기
- 2. libpcap을 사용하여 나노초 pcap 파일 읽기
- 3. Lua 스크립트를 사용하여 PCAP 파일 읽기
- 4. Ruby PCAP 전체 캡처 파일 읽기
- 5. 여러 pcap 파일 열기 및 읽기
- 6. 루아를 사용하여 URL에서 파일 이름 가져 오기
- 7. pcap 패킷의 헤더 정보 읽기
- 8. PCAP 라이브러리 기능 (새로운 PCAP 파일 작성)
- 9. wirehshark의 병합 pcap 파일
- 10. pcap 파일 만들기
- 11. pcap 파일 헤더 액세스
- 12. pcap 라이브러리를 사용하여 TCP 덤프 파일 열기
- 13. 루아를 사용해야합니까?
- 14. 재생 데이터와 같은 Pcap 파일
- 15. Java PCAP 파일 파서 라이브러리
- 16. 데이터베이스에 pcap 파일 가져 오기
- 17. python에서 pcap 파일 구문 분석
- 18. pcap
- 19. Python을 사용하여 파일 읽기
- 20. JSON을 사용하여 파일 읽기
- 21. system.io를 사용하여 파일 읽기?
- 22. URL을 사용하여 파일 읽기
- 23. fgetc를 사용하여 파일 읽기
- 24. MacOS에서 루아를 어떻게 설치합니까?
- 25. 루아를 사용하여 공유 라이브러리에서 함수를 호출하는 방법
- 26. 루아를 사용하여 실행 파일을 어떻게 실행합니까?
- 27. 루아를 사용하여 arduino 인터페이스를 제어하는 방법
- 28. Python 스크립트 끝에서 pcap 파일 생성
- 29. Radius 프로토콜 용 TcpDump 명령을 사용하여 pcap 파일 캡처
- 30. 루아를 C++에 포함하기
몇 가지 다른 링크 : 와이어 샤크 사용 설명서 • : www.wireshark.org/docs/wsug_html_chunked/wsluarm.html [Wireshark는 위키 : 루아] • (HTTP : //wiki.wireshark.org/Lua) • [Wireshark 위키 : 루아 - 예] (http://wiki.wireshark.org/Lua/Examples) • [Sharkfest09] (http : //sharkfest.wireshark. org/sharkfest.09/index.html) - 개발자 트랙 프리젠 테이션 : Wireshark의 Lua 스크립팅에 대한 Stig Bjorlykke의 프레젠테이션 – joke
@Yu Hao 작은 2-3 행의 스크립트를 작성하여 패킷을 열고 출력 할 수 있습니까? src 주소, ip 헤더와 tcp src 포트의 목적지 주소와 tcp 목적지 포트 나는 거기에서 시작할 수있다. 감사합니다 –
@JustinCarrey 업데이트 부분을 참조하십시오. –