탐정 tcpdump 다섯 번 째 방법

4797 단어
앞의 네 가지 방법 은 모두 tcpdump 옵션 을 중심 으로 소개 되 었 습 니 다. 이 방법 에서 우 리 는 더욱 자주 사용 하 는 '필터 표현 식' 내용 으로 눈 을 돌 릴 것 입 니 다.
    이 몇 가지 방법 을 통 해 당신 은 '신경 쓰 지 않 고 집중 하 라' 는 무공 을 갖 게 될 것 입 니 다.
    ==
    [스승 님 이 안내 해 드 립 니 다.]
    tcpdump 에 '필터 표현 식' 을 전송 하여 네트워크 패키지 필터 역할 을 할 수 있 으 며, 단일 또는 여러 개의 필터 표현 식 을 지원 할 수 있다 는 점 에서 tcpdump 는 배가 많이 들 어 갈 수 있 습 니 다.
     들 어 오 는 필터 표현 식 에 셸 마스크 가 포함 되 어 있 을 때, 셸 이 스스로 주장 하 는 마스크 가 함 유 된 표현 식 을 먼저 해석 하고 연결 하 는 것 을 방지 하기 위해 작은 따옴표 로 표현 식 을 묶 는 것 을 잊 지 마 세 요.
    만약 당신 이 '필터 표현 식' 을 연구 하 기 를 원한 다 면 문제 없습니다. 제 가 어떻게 '들 어 오 는 지' 를 알려 드 리 겠 습 니 다. 방법 은:
man pcap-filter

    필터 표현 식 은 크게 세 가지 필터 조건 으로 나 눌 수 있 습 니 다. '유형', '방향', '프로 토 콜' 등 세 가지 조건 의 조합 이 우리 의 필터 표현 식 을 구성 합 니 다.
    [UDP 가방 만 잡 고 싶 어 요. TCP 가방 에 방 해 받 고 싶 지 않 아 요.]
# tcpdump -i eth0 -c 10 \'udp\'
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 65535 bytes
11:25:20.801612 IP 116.255.245.48.54808 > 229.111.112.12.csd-mgmt-port: UDP, length 4
11:25:20.802120 IP 116.255.245.206.54313 > ns.sc.cninfo.net.domain: 5256+ PTR? 12.112.111.229.in-addr.arpa. (45)
11:25:21.145126 IP ns.sc.cninfo.net.domain > 116.255.245.206.54313: 5256 NXDomain 0/0/0 (45)
11:25:21.145315 IP 116.255.245.206.46658 > ns.sc.cninfo.net.domain: 15551+ PTR? 48.245.255.116.in-addr.arpa. (45)
11:25:21.153966 IP 116.255.245.43.62220 > 229.111.112.12.csd-mgmt-port: UDP, length 4
11:25:21.180135 IP 116.255.245.61.hsrp > all-routers.mcast.net.hsrp: HSRPv0-hello 20: state=active group=21 addr=116.255.245.33
11:25:21.231151 IP ns.sc.cninfo.net.domain > 116.255.245.206.46658: 15551 NXDomain 0/0/0 (45)
11:25:21.231430 IP 116.255.245.206.46158 > ns.sc.cninfo.net.domain: 31924+ PTR? 69.2.139.61.in-addr.arpa. (42)
11:25:21.277087 IP ns.sc.cninfo.net.domain > 116.255.245.206.46158: 31924 1/0/0 PTR ns.sc.cninfo.net. (72)
11:25:21.277824 IP 116.255.245.206.42656 > ns.sc.cninfo.net.domain: 806+ PTR? 206.245.255.116.in-addr.arpa. (46)
10 packets captured
20 packets received by filter
0 packets dropped by kernel

    이 예 를 들 어 tcpdump 는 네트워크 패키지 의 프로 토 콜 에 따라 여과 하 는 능력 을 가지 고 있 음 을 설명 하기 위해 udp 를 ether, ip, ip6, arp, tcp, rarp 등 으로 바 꿀 수 있 습 니 다.
     "왜 이런 프로 토 콜 에 응용 층 프로 토 콜 이 없 습 니까?"라 고 질문 할 수도 있 습 니 다. 그 이 유 는 간단 합 니 다. 응용 층 프로 토 콜 은 기본 적 인 네트워크 프로 토 콜 이 아니 라 자주 추가 되 거나 도태 되 며 tcpdump 는 응용 층 부분 에 깊이 들 어가 스마트 하 게 분석 하지 않 습 니 다.그래서 현재 보 이 는 tcpdump 가 지원 하 는 protocol 은 모두 응용 층 이하 입 니 다.
    [저 는 이 소스 기계 와 그 목적 기계 사이 의 네트워크 패 키 지 를 전문 적 으로 살 펴 보고 싶 습 니 다. 다른 무관 한 기계 에 의 해 방 해 받 고 싶 지 않 습 니 다.]
    이것 은 사실 매우 간단 하고 직관 적 입 니 다. src (source) 와 dst (destination) 만 설정 하면 됩 니 다. 그리고 편리 한 것 은 tcpdump 는 and 와 or 를 사용 하여 조합 하 는 것 도 지원 합 니 다!
     설정 이 없 으 면 기본 값 은 src or dst 입 니 다.
# tcpdump -i eth0 \'dst 8.8.8.8\'
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 65535 bytes
13:21:23.281978 IP 116.255.245.206 > google-public-dns-a.google.com: ICMP echo request, id 23081, seq 1, length 64
13:21:24.286663 IP 116.255.245.206 > google-public-dns-a.google.com: ICMP echo request, id 23081, seq 2, length 64
13:21:25.288612 IP 116.255.245.206 > google-public-dns-a.google.com: ICMP echo request, id 23081, seq 3, length 64
^C
3 packets captured
5 packets received by filter
0 packets dropped by kernel

    [목표 기기 포트 가 53 또는 80 인 네트워크 패키지 만 찾 고 싶 습 니 다. 다른 포트 는 관심 이 없습니다.]
# tcpdump -i eth0 -c 3 \'dst port 53 or dst port 80\'
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 65535 bytes
13:29:04.530130 IP 114.255.192.96.29832 > 116.255.245.206.http: Flags [S], seq 3169042560, win 5840, options [mss 1460,sackOK,TS val 2949111416 ecr 0], length 0
13:29:04.530660 IP 116.255.245.206.43211 > ns.sc.cninfo.net.domain: 40188+ PTR? 206.245.255.116.in-addr.arpa. (46)
13:29:04.548589 IP 114.255.192.96.29832 > 116.255.245.206.http: Flags [.], ack 3709396068, win 5840, options [nop,nop,TS val 2949111475 ecr 1601243970], length 0
3 packets captured
10 packets received by filter
0 packets dropped by kernel

    우 리 는 필터 형식 을 설정 할 수 있 습 니 다. 위의 예 에서 우 리 는 포트 라 는 유형 을 사 용 했 습 니 다. 바로 포트 를 지정 하 는 것 입 니 다.물론 tcpdump 는 다음 과 같은 유형 도 지원 합 니 다.
     1 host: 호스트 이름 이나 IP 주 소 를 지정 합 니 다. 예 를 들 어 'host roclinux' 나 'host 202.112.18.34'.
     2. net: 네트워크 세그먼트 를 지정 합 니 다. 예 를 들 어 'arp net 128.3 좋 을 것 같 아 요.' dst net 128.3 좋 을 것 같 아 요.
     3 portrange: 지정 한 포트 구역, 예 를 들 어 src 또는 dst portrange 6000 - 6008 ′
    필터 형식 을 설정 하지 않 았 다 면 기본 값 은 host 입 니 다.

좋은 웹페이지 즐겨찾기