루아에서 Wireshark 해부학자를 쓰고 있습니다. 현재 프레임이 수신되었거나 해부도 내에서 전송 된 네트워크 인터페이스를 얻을 수있는 방법이 있습니까?Wireshark에서 네트워크 인터페이스 가져 오기 루아 디시 전어
0
A
답변
1
frame.interface_id
이라는 프레임 필드가 있으며 Wireshark 1.8.0 이후 Wireshark Display Filter Reference 페이지에 따라 인터페이스의 ID를 제공해야합니다. 열거 형에서 1을 뺀 경우 ID는 dumpcap -D
(또는 tshark -D
)의 결과에 주어진 열거 형과 일치하는 것으로 보입니다. 즉, 덤프 캡과 tshark는 각각 -D
출력에서 1로 시작하는 인터페이스를 계산합니다. Wireshark는 0에서부터 계산을 시작하는 것 같습니다.이 불일치는 나에게 버그처럼 보입니다.이 일관성없는 동작에 대해 Wireshark bug report을 제출하는 것이 좋습니다.
편집 (이 의견을 사용하여 일관된 방법으로이 형식을 불가능하게 보이기 때문에) :
필드에 액세스하려면, 당신은 필드 추출을 사용, 참조 : 예를 들어 https://www.wireshark.org/docs/wsdg_html_chunked/lua_module_Field.html
:
local fe_interface_id = Field.new("frame.interface_id")
function foo.dissector(buffer, pinfo, tree)
local f_interface_id = fe_interface_id()
pinfo.cols.info:append(", Interface ID=" .. tostring(f_interface_id))
end
는 참고 : 나는 버그 리포트를 제출했습니다 https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=13496 –
버그 코멘트 표시로이의'frame.interface_id' 필드가 나타내는 가치 '{tshark, dumpcap} -D'에 해당하지 않는 pcapng 파일에 쓰여질 인터페이스. 지정된 첫 번째 인터페이스에는 인덱스 0, 다음 인덱스 1 등이 지정됩니다. 'frame.interface_id' 변경에 대한 이러한 행동이 여전히 남아 있는지는 의심 스럽지만 의심 스럽습니다. 그러므로 당신은 그 가치가 무엇을 나타내는지를 알고 있어야합니다. –
답장과 버그 신고에 감사드립니다. 어떻게 해부학 자의 프레임 필드에 액세스 할 수 있는지 보여 줄 수 있습니까? (즉,'Proto.dissector (buffer, pinfo, tree)'함수 내에서). 좀 더 구체적으로,이 값을 사용하여'pinfo.cols.info'에 표시된 것을 수정하고 싶습니다. – zeeMonkeez