비대칭 라우팅 문제를 진단하기 위해 tshark를 사용하고 있습니다. 트래픽을 필터링 중이므로 특정 IP의 src/dest만 캡처하지만 트래픽이 들어오고 나가는 인터페이스를 보여주는 필드를 표시하여 경로를 사용할 때 영향을 확인할 수 있도록 하고 싶습니다. 테이블.
Wireshark를 사용하면 다음을 사용하여 MAC 주소를 표시하여 이를 수행할 수 있습니다.하드웨어 대상 주소그리고하드웨어 소스 주소, 하지만 TShark에서는 해당 필터를 찾을 수 없습니다.
누구든지 TShark를 사용하여 NIC 이름이나 MAC 주소를 표시하는 방법을 제안할 수 있습니까?
내가 시도한 tshark 명령은 다음과 같습니다.
tshark -i eno1 -i enp5s0 -T fields -E header=y -e ip.src -e ip.dst -e _ws.col.Protocol -e _ws.col.Info -Y "ip.addr==10.10.10.30"
답변1
해결책을 찾았습니다. Wireshark에 표시된 필드는 tshark에 표시된 필드와 직접적인 상관 관계가 있는 것으로 나타났습니다. 그래서 당신은 프레임 아래에서 검색합니다.Wireshark 문서모든 것이 명확해졌습니다. 내 문제는 명령줄에서 수행할 수 있는 작업을 이해하기 위해 설명서와 Wireshark UI 간의 상관 관계를 확인하지 못하는 것입니다.
내가 해야 할 일은 추가하는 것뿐이었다.-e 프레임워크.인터페이스 이름또는-e 프레임.인터페이스_id
답변2
필드 이름을 알기 위해 또는 를 전달하여 json
형식을 사용하거나 출력 할 수도 있습니다. 표시 필터에서 사용할 수 있는 동일한 이름 또는 선택 형식을 사용하여 캡처에 구문 분석된 모든 필드가 표시됩니다.pdml
-T json
-T pdml
tshark
-e
-T fields
[ { "_index": "데이터 패키지-2021-10-09", "_type": "문서", "_score": 비어 있음, "_원천": { "층":{ "프레임워크": { "frame.interface_id": "0", "frame.interface_id_tree": { "프레임워크.인터페이스 이름": "wlp3s0" }, "frame.encap_type": "1", [...]
<?xml version="1.0" 인코딩="utf-8"?> <?xml-stylesheet type="text/xsl" href="pdml2html.xsl"?> <!-- /usr/share/wireshark 또는 https://gitlab.com/wireshark/wireshark/-/raw/master/pdml2html.xsl에서 pdml2html.xsl을 찾을 수 있습니다. --> <pdml version="0" Creator="wireshark/3.4.8" time="2021년 10월 9일 토요일 10:20:13" Capture_file="file.pcap"> <패킷> <proto name="geninfo" pos="0" showname="일반 정보" size="52"> <field name="num" pos="0" show="1" showname="숫자" value="1" size="52"/> <field name="len" pos="0" show="52" showname="프레임 길이" value="34" size="52"/> <field name="caplen" pos="0" show="52" showname="캡처 길이" value="34" size="52"/> <field name="timestamp" pos="0" show="2021년 10월 9일 10:19:24.034789189 BST" showname="캡처 시간" value="1633771164.034789189" size="52"/> </원본> <proto name="frame" showname="프레임 1: 라인에서 52바이트(416비트), 인터페이스 wlp3s0에서 캡처된 52바이트(416비트), id 0" size="52" pos="0 "> <field name="frame.interface_id" showname="인터페이스 ID: 0 (wlp3s0)" size="0" pos="0" show="0"> <필드 이름=프레임워크.인터페이스 이름" showname="인터페이스 이름: wlp3s0" size="0" pos="0" show="wlp3s0"/> </field> <field name="frame.encap_type" showname="캡슐화 유형: 이더넷(1)" size="0" pos="0" show="1"/>
wireshark
관심 있는 필드를 선택하고 마우스 오른쪽 버튼을 클릭하여 복사 -> 필드 이름을 선택할 수 있습니다 .