tshark로 인터페이스 이름을 표시하는 방법

tshark로 인터페이스 이름을 표시하는 방법

비대칭 라우팅 문제를 진단하기 위해 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 pdmltshark-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관심 있는 필드를 선택하고 마우스 오른쪽 버튼을 클릭하여 복사 -> 필드 이름을 선택할 수 있습니다 .

필드 이름 사본의 스크린샷

관련 정보