>운영 및 유지보수 >리눅스 운영 및 유지 관리 >리눅스 패킷 캡처 명령이란 무엇입니까?

리눅스 패킷 캡처 명령이란 무엇입니까?

青灯夜游
青灯夜游원래의
2021-05-08 15:59:3726646검색

Linux 패킷 캡처 명령은 네트워크 카드에 흐르는 데이터 패킷을 캡처할 수 있는 "tcpdump"입니다. 네트워크에서 전송되는 데이터 패킷의 "헤더"를 완전히 가로채고 네트워크 계층, 프로토콜을 지원하는 분석을 제공할 수 있습니다. , 호스트, 네트워크 또는 포트 필터링을 제공하고 and, or, not 등의 논리문을 제공하여 불필요한 정보를 제거하는 데 도움을 줍니다.

리눅스 패킷 캡처 명령이란 무엇입니까?

이 튜토리얼의 운영 환경: Red Hat Enterprise Linux 6.1 시스템, Dell G3 컴퓨터.

tcpdump 명령은 Unix 시스템의 명령줄을 기반으로 하는 데이터그램 스니핑 도구로, 네트워크 카드에 흐르는 데이터 패킷을 캡처할 수 있습니다.

이름에서 알 수 있듯이 tcpdump는 네트워크에서 전송되는 데이터 패킷의 "헤더"를 완전히 가로채서 분석을 제공할 수 있습니다. tcpdump는 네트워크 계층, 프로토콜, 호스트, 네트워크 또는 포트에 대한 필터링을 지원하고 쓸모없는 정보를 제거하는 데 도움이 되는 and, or not과 같은 논리문을 제공합니다. tcpdump는 이를 UNIX와 유사하게 만듭니다.

실용적인 명령 예:

(1). 기본적으로 시작됩니다.

#普通情况下,直接启动tcpdump将监视第一个网络接口上所有流过的数据包.
[root@localhost ~]# tcpdump

(2). 지정된 네트워크 인터페이스의 데이터 패킷을 모니터링합니다. 3) 지정된 호스트의 데이터 패킷을 모니터링합니다

[root@localhost ~]# tcpdump -i eth0 -c 10

(4.). 호스트에서 보낸 모든 데이터를 가져옵니다. 10.20.3.25

[root@localhost ~]# tcpdump -i eth0 host 10.20.3.25

(5). 10.20.3.25

[root@localhost ~]#tcpdump -i eth0 src host 10.20.3.25

(6). 지정된 호스트 및 포트

[root@localhost ~]# tcpdump -i eth0 dst host 10.20.3.25

(7)의 데이터 패킷을 모니터링합니다(7). 10.20.3 네트워크 세그먼트에서 "-c 10"은 10개의 패킷만 캡처됨을 나타냅니다

[root@localhost ~]# tcpdump tcp port 22 and host 10.20.3.25

(8). 핑 패킷을 캡처

[root@localhost ~]# tcpdump -c 10 net 10.20.3

(9) 패킷 데이터를 구문 분석합니다

[root@localhost ~]# tcpdump -c 5 -nn -i eth0 icmp

( 10).tcpdump HTTP 패킷 캡처

[root@localhost ~]# tcpdump -c 2 -q -XX -vvv -nn -i eth0 tcp dst port 22
tcpdump: listening on eth0, link-type EN10MB (Ethernet), capture size 65535 bytes
10:22:22.334383 IP (tos 0x0, ttl 63, id 26834, offset 0, flags [DF], proto TCP (6), length 40)
    10.20.3.25.60401 > 10.20.9.131.22: tcp 0
        0x0000:  0050 5685 2ba8 0074 9c0f c748 0800 4500  .PV.+..t...H..E.
        0x0010:  0028 68d2 4000 3f06 b23a 0a14 0319 0a14  .(h.@.?..:......
        0x0020:  0983 ebf1 0016 93e3 6ba8 cd6b d1ce 5010  ........k..k..P.
        0x0030:  f6b4 0d8e 0000 0000 0000 0000            ............
10:22:22.376759 IP (tos 0x0, ttl 63, id 26835, offset 0, flags [DF], proto TCP (6), length 40)
    10.20.3.25.60401 > 10.20.9.131.22: tcp 0
        0x0000:  0050 5685 2ba8 0074 9c0f c748 0800 4500  .PV.+..t...H..E.
        0x0010:  0028 68d3 4000 3f06 b239 0a14 0319 0a14  .(h.@.?..9......
        0x0020:  0983 ebf1 0016 93e3 6ba8 cd6b d392 5010  ........k..k..P.
        0x0030:  faf0 078e 0000 0000 0000 0000            ............
2 packets captured
2 packets received by filter
0 packets dropped by kernel
[root@test-core-services-03 ~]#

tcpdump 일반 옵션:

명령 형식:

tcpdump  -XvvennSs 0 -i eth0 tcp[20:2]=0x4745 or tcp[20:2]=0x4854

0x4745 为"GET"前两个字母"GE",0x4854 为"HTTP"前两个字母"HT"。
관련 권장 사항: "

Linux 비디오 튜토리얼

"

위 내용은 리눅스 패킷 캡처 명령이란 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.