네트워크 통신 문제를 해결하는 유일한 방법또는 적어도 가장 빠른 방법은 통신 의 추적을 수집하고 분석 전문가에게 보내는 것입니다. 전문가가 조직의 일부가 아닌 경우 추적에 응용 프로그램 데이터가 포함되어 있으므로 보안 문제가 발생할 수 있습니다. 그러나 일반적으로 중요한 것은 응용 프로그램 데이터가 아닌 이더넷, IP 및 TCP, UDP 또는 ICMP 프로토콜 헤더입니다. 이 경우 처음에 데이터를 수집하거나 수집 된 후 데이터를 제거 할 수 없습니다.
packet_monitor 사용하면 모든 헤더를 수집할 수 있지만 다음 명령의 데이터는 수집할 수 없습니다.
packet_monitor -인터페이스 #INTERFACE --time_stamp -verbose -pkt_hdr
|
여기서 인터페이스는 "ifconfig -all" 명령에 의해 표시되는 IP 인터페이스의 장치 이름입니다. 추적은 모양처럼 보일 것입니다.
디르 icmp 유형
+ tcp
hh:mm:ss.ttt dir len 프로토 소스 대상 src 포트 ds
+t 포트 유형
11:40:21.234 Xmit 이더 Dst 00:23:54:52:18:6e Src 00:00:a8:43:52:22 유형 0800
+(IP)
IP Ver/HL 45, ToS 0, Len 78, ID 2212, Flg/Frg 0, TTL 3c, Prtl 6
Cksum 788b, Src a4984d80, Dst a4984d32
TCP 에서 164.152.77.128.22 받는 164.152.77.50.6991
seq 1332611210, ack 3416994988, 창 8192, 80 데이터 바이트, 플래그 푸시 Ack
+.
X/Off 05, 플래그 18, Cksum c3aa, Urg-> 0000
11:40:21.235 Xmit 이더 Dst 00:23:54:52:18:6e Src 00:00:a8:43:52:22 유형 0800
+(IP)
IP Ver/HL 45, ToS 0, Len a8, ID 2213, Flg/Frg 0, TTL 3c, Prtl 6
Cksum 785a, Src a4984d80, Dst a4984d32
TCP 에서 164.152.77.128.22 받는 164.152.77.50.6991
seq 1332611290, ack 3416994988, 창 8192, 128 데이터 바이트, 플래그 푸시 Ac
+k.
X/Off 05, 플래그 18, Cksum ce9f, Urg-> 0000
11:40:21.236 Rcvd 에테르 Dst 00:00:00:a8:43:52:22 Src 00:23:54:52:18:6e 타입 0800
+(IP)
IP Ver/HL 45, ToS 0, Len 28, ID 3032, Flg/Frg 4000, TTL 80, Prtl 6
Cksum e6ba, Src a4984d32, Dst a4984d80
TCP 164.152.77.50.6991 ~ 164.152.77.128.22
seq 3416994988, ack 1332611418, 창 16176, 0 데이터 바이트, 플래그 Ack.
X/Off 05, 플래그 10, Cksum 183c, Urg-> 0000
11:40:21.952 Xmit 이더 Dst 00:23:54:52:18:6e Src 00:00:a8:43:52:22 유형 0800
+(IP)
IP Ver/HL 45, ToS 0, Len a8, ID 2214, Flg/Frg 0, TTL 3c, Prtl 6
Cksum 7859, Src a4984d80, Dst a4984d32
TCP 에서 164.152.77.128.22 받는 164.152.77.50.6991
seq 1332611418, ack 3416994988, 창 8192, 128 데이터 바이트, 플래그 푸시 Ac
+k.
X/Off 05, 플래그 18, Cksum 59a9, Urg-> 0000
11:40:21.953 Xmit 이더 Dst 00:23:54:52:18:6e Src 00:00:a8:43:52:22 유형 0800
+(IP)
IP Ver/HL 45, ToS 0, Len 98, ID 2215, Flg/Frg 0, TTL 3c, Prtl 6
Cksum 7868, Src a4984d80, Dst a4984d32
TCP 에서 164.152.77.128.22 받는 164.152.77.50.6991
seq 1332611546, ack 3416994988, 창 8192, 112 데이터 바이트, 플래그 푸시 Ac
+k.
X/Off 05, 플래그 18, Cksum 2b4e, Urg-> 0000
|
이 방법의 문제는 경우에 따라 문제가 응용 프로그램과 관련된 것으로 판명되고 응용 프로그램 데이터가 필요하다는 것입니다. 전체 추적을 수집하지 않은 경우 문제를 재현하거나 다시 발생할 때까지 기다려야 합니다. "hex_dump" 및 "길이 1500" 인수를 추가한 다음 분석을 위해 추적을 보낼 때 복사본에서 응용 프로그램 데이터를 제거하여 전체 추적을 수집하는 것이 훨씬 쉽습니다. 다음 그림은 명령과 추적을 보여 주지만 공간을 위해 대부분의 응용 프로그램 데이터를 제거하기 위해 추적을 편집했습니다.
packet_monitor -interface #sdlmux.m16.11-3 -numeric -time_stamp -verbose -pkt_hd
+r -hex_dump -length 1500
dir icmp type
+ tcp
hh:mm:ss.ttt dir len proto source destination src port ds
+t port type
13:52:04.672 Xmit Ether Dst 00:23:54:52:18:6e Src 00:00:a8:43:52:22 Type 0800
+(IP)
IP Ver/HL 45, ToS 0, Len 5dc, ID 9eaa, Flg/Frg 0, TTL 3c, Prtl 6
Cksum f68e, Src a4984d80, Dst a4984d32
TCP from 164.152.77.128.22 to 164.152.77.50.6991
seq 1335114362, ack 3417069804, window 65535, 1460 data bytes, flags Push A
+ck.
X/Off 05, Flags 18, Cksum 8d33, Urg-> 0000
offset 0 . . . 4 . . . 8 . . . C . . . 0...4... 8...C...
0 22 cd 33 93 25 7b 85 39 7 c4 3b 7e c9 a9 d5 d9 "M3>%{>9 <D;~I)UY
10 63 25 a7 80 6 d7 4f c9 e7 7a 91 1e 4b e7 b7 a5 c%'><WOI gz><Kg7%
20 4f 4c bf 1d 2a 3d 72 53 99 41 b8 c4 26 24 31 4d OL?<*=rS >A8D&$1M
. . .
590 98 bc af 74 d1 71 88 3f 3d 90 22 d3 91 86 92 4e ></tQq>? =>"S>>>N
5a0 da cc d8 7 18 e7 9e 55 c8 f1 af d3 30 0 35 4 ZLX<<g>U Hq/S0 5<
5b0 ac e8 f0 82 ,hp>
13:52:04.692 Rcvd Ether Dst 00:00:a8:43:52:22 Src 00:23:54:52:18:6e Type 0800
+(IP)
IP Ver/HL 45, ToS 0, Len 28, ID 9324, Flg/Frg 4000, TTL 80, Prtl 6
Cksum 83c8, Src a4984d32, Dst a4984d80
TCP from 164.152.77.50.6991 to 164.152.77.128.22
seq 3417069804, ack 1335120266, window 16384, 0 data bytes, flags Ack.
X/Off 05, Flags 10, Cksum aad4, Urg-> 0000
No tcp data.
13:52:04.692 Xmit Ether Dst 00:23:54:52:18:6e Src 00:00:a8:43:52:22 Type 0800
+(IP)
IP Ver/HL 45, ToS 0, Len 5dc, ID 9eab, Flg/Frg 0, TTL 3c, Prtl 6
Cksum f68d, Src a4984d80, Dst a4984d32
TCP from 164.152.77.128.22 to 164.152.77.50.6991
seq 1335120266, ack 3417069804, window 65535, 1460 data bytes, flags Ack.
X/Off 05, Flags 10, Cksum 2626, Urg-> 0000
offset 0 . . . 4 . . . 8 . . . C . . . 0...4... 8...C...
0 a0 95 bb 79 99 93 c9 52 ac 11 69 fd d5 a9 39 b8 >;y>>IR ,<i}U)98
10 fd 4 2e ec 3e eb 87 9d 3f 96 a9 91 2e b2 c8 91 }<.l>k>> ?>)>.2H>
20 6a b3 7e 9f cc 79 6f e2 9f 5 c6 a0 e4 95 57 9c j3~>Lyob ><F d>W>
. . .
590 88 d8 2e b6 54 c1 25 95 c4 38 d9 0 55 36 32 58 >X.6TA%> D8Y U62X
5a0 2d ba 81 2c e5 51 8a 3b ef cd 98 29 a1 c2 82 24 -:>,eQ>; oM>)!B>$
5b0 90 33 6e e8 >3nh
13:52:04.694 Xmit Ether Dst 00:23:54:52:18:6e Src 00:00:a8:43:52:22 Type 0800
+(IP)
IP Ver/HL 45, ToS 0, Len 3a4, ID 9eac, Flg/Frg 0, TTL 3c, Prtl 6
Cksum f8c4, Src a4984d80, Dst a4984d32
TCP from 164.152.77.128.22 to 164.152.77.50.6991
seq 1335121726, ack 3417069804, window 65535, 892 data bytes, flags Push Ac
+k.
X/Off 05, Flags 18, Cksum d4c2, Urg-> 0000
offset 0 . . . 4 . . . 8 . . . C . . . 0...4... 8...C...
0 23 2a 5a 1a e3 34 e7 b4 62 d7 ee 55 7c 38 f7 a #*Z<c4g4 bWnU|8w<
10 cb b6 95 4 6 d8 b8 e 7d 88 68 a7 24 7a ed bd K6><<X8< }>h'$zm=
20 57 ce 14 43 6c 17 56 5a 25 7d 9b f5 88 d9 97 29 WN<Cl<VZ %}>u>Y>)
. . .
350 8 a3 86 6 24 bc cc b9 d6 3f af ab f bd 38 ca <#><$<L9 V?/+<=8J
360 da b5 6 8a bf 2b 49 90 a2 d4 27 f5 79 a1 9 1a Z5<>?+I> "T'uy!<<
370 5c 87 6b ae f0 d2 e8 45 14 b3 12 b5 >k.pRhE <3<5
13:52:04.695 Rcvd Ether Dst 00:00:a8:43:52:22 Src 00:23:54:52:18:6e Type 0800
+(IP)
IP Ver/HL 45, ToS 0, Len 58, ID 9325, Flg/Frg 4000, TTL 80, Prtl 6
Cksum 8397, Src a4984d32, Dst a4984d80
TCP from 164.152.77.50.6991 to 164.152.77.128.22
seq 3417069804, ack 1335120266, window 16384, 48 data bytes, flags Push Ack
+.
X/Off 05, Flags 18, Cksum dde1, Urg-> 0000
offset 0 . . . 4 . . . 8 . . . C . . . 0...4... 8...C...
0 84 2c 64 69 88 5d c5 b2 bc 6c ca 4e af 15 be 2e >,di>]E2 <lJN/<>.
10 3f 87 93 79 a0 b7 5d d5 3c 35 7f 2d db 7e be 44 ?>>y 7]U <5<-[~>D
20 a8 24 6d 96 6f f0 79 c1 d6 9c c3 be 64 4b 7d 4c ($m>opyA V>C>dK}L
|
추적에서 응용 프로그램 데이터를 제거하는 방법에는 여러 가지가 있습니다. 추적을 수동으로 편집할 수 있습니다. 짧은 추적의 경우 가능할 수 있지만 추적이 길어지는 경우 불가능합니다. 이전에 사용할 수 있는 두 개의 Perl 스크립트를 게시했습니다. 첫 번째 pm21line.pl 모든 헤더를 1줄에 배치하고 응용 프로그램 데이터를 제거하도록 설계되었습니다. 스크립트는 IO 표시를 사용하므로 bash 환경에서 실행해야 합니다.
bash
bash-2.05$ perl pm21line.pl < full_trace.out > 1line_trace.out
bash-2.05$ exit
exit
ready 17:21:00
d 1line_trace.out%phx_vos#m16_mas>SysAdmin>Noah_Davids>1line_trace.out 10-10-1
+0 17:21:08 mst
13:52:04.672 Xmit Ether Dst 00:23:54:52:18:6e Src 00:00:a8:43:52:22 Type 0800
+(IP) IP Ver/HL 45, ToS 0, Len 5dc, ID 9eaa, Flg/Frg 0, TTL 3c, Prtl 6
+TCP from 164.152.77.128.22 to 164.152.77.50.6991 seq 1335114362, ack 34170
+69804, window 65535, 1460 data bytes, flags Push Ack.
13:52:04.692 Rcvd Ether Dst 00:00:a8:43:52:22 Src 00:23:54:52:18:6e Type 0800
+(IP) IP Ver/HL 45, ToS 0, Len 28, ID 9324, Flg/Frg 4000, TTL 80, Prtl 6
+TCP from 164.152.77.50.6991 to 164.152.77.128.22 seq 3417069804, ack 13351
+20266, window 16384, 0 data bytes, flags Ack.
13:52:04.692 Xmit Ether Dst 00:23:54:52:18:6e Src 00:00:a8:43:52:22 Type 0800
+(IP) IP Ver/HL 45, ToS 0, Len 5dc, ID 9eab, Flg/Frg 0, TTL 3c, Prtl 6
+TCP from 164.152.77.128.22 to 164.152.77.50.6991 seq 1335120266, ack 34170
+69804, window 65535, 1460 data bytes, flags Ack.
13:52:04.694 Xmit Ether Dst 00:23:54:52:18:6e Src 00:00:a8:43:52:22 Type 0800
+(IP) IP Ver/HL 45, ToS 0, Len 3a4, ID 9eac, Flg/Frg 0, TTL 3c, Prtl 6
+TCP from 164.152.77.128.22 to 164.152.77.50.6991 seq 1335121726, ack 34170
+69804, window 65535, 892 data bytes, flags Push Ack.
13:52:04.695 Rcvd Ether Dst 00:00:a8:43:52:22 Src 00:23:54:52:18:6e Type 0800
+(IP) IP Ver/HL 45, ToS 0, Len 58, ID 9325, Flg/Frg 4000, TTL 80, Prtl 6
+TCP from 164.152.77.50.6991 to 164.152.77.128.22 seq 3417069804, ack 13351
+20266, window 16384, 48 data bytes, flags Push Ack.
|
한 줄 형식은 추적에 여러 연결의 패킷이 포함되어 있고 해당 연결의 하위 집합에만 관심이 있는 경우에 유용합니다. 한 줄 형식을 만든 후 관심 있는 연결의 고유한 기능을 쉽게 필터링할 수 있습니다.
두 번째 스크립트는 파일을 표시하고 여러 문자열에 일치할 match.pl 있습니다. 예를 들어
펄 match.pl -파일 full_trace.out -경기 이더 -경기 IP -일치 Cksum -일치 TC
+P -일치 seq -점
full_trace.out ************************************
. . .
13:52:04.672 Xmit 이더 Dst 00:23:54:52:18:6e Src 00:00:a8:43:52:22 유형 0800
+(IP)
IP Ver/HL 45, ToS 0, Len 5dc, ID 9eaa, Flg/Frg 0, TTL 3c, Prtl 6
Cksum f68e, Src a4984d80, Dst a4984d32
TCP 에서 164.152.77.128.22 받는 164.152.77.50.6991
seq 1335114362, ack 3417069804, 창 65535, 1460 데이터 바이트, 플래그 푸시 A
+ck.
X/Off 05, 플래그 18, Cksum 8d33, Urg-> 0000
. . .
13:52:04.692 Rcvd Ether Dst 00:00:00:a8:43:52:22 Src 00:23:54:52:18:6e 타입 0800
+(IP)
IP Ver/HL 45, ToS 0, Len 28, ID 9324, Flg/Frg 4000, TTL 80, Prtl 6
Cksum 83c8, Src a4984d32, Dst a4984d80
TCP 164.152.77.50.6991 ~ 164.152.77.128.22
seq 3417069804, ack 1335120266, 창 16384, 0 데이터 바이트, 플래그 Ack.
X/Off 05, 플래그 10, Cksum aad4, Urg-> 0000
. . .
13:52:04.692 Xmit 이더 Dst 00:23:54:52:18:6e Src 00:00:a8:43:52:22 유형 0800
+(IP)
IP Ver/HL 45, ToS 0, Len 5dc, ID 9eab, Flg/Frg 0, TTL 3c, Prtl 6
Cksum f68d, Src a4984d80, Dst a4984d32
TCP 에서 164.152.77.128.22 받는 164.152.77.50.6991
seq 1335120266, ack 3417069804, 창 65535, 1460 데이터 바이트, 플래그 Ack.
X/Off 05, 플래그 10, Cksum 2626, Urg-> 0000
. . .
13:52:04.694 Xmit 이더 Dst 00:23:54:52:18:6e Src 00:00:a8:43:52:22 유형 0800
+(IP)
IP Ver/HL 45, ToS 0, Len 3a4, ID 9eac, Flg/Frg 0, TTL 3c, Prtl 6
Cksum f8c4, Src a4984d80, Dst a4984d32
TCP 에서 164.152.77.128.22 받는 164.152.77.50.6991
seq 1335121726, ack 3417069804, 창 65535, 892 데이터 바이트, 플래그 푸시 Ac
+k.
X/Off 05, 플래그 18, Cksum d4c2, Urg-> 0000
. . .
13:52:04.695 Rcvd Ether Dst 00:00:00:a8:43:52:22 Src 00:23:52:18:6e 타입 0800
+(IP)
IP Ver/HL 45, ToS 0, Len 58, ID 9325, Flg/Frg 4000, TTL 80, Prtl 6
Cksum 8397, Src a4984d32, Dst a4984d80
TCP 164.152.77.50.6991 ~ 164.152.77.128.22
seq 3417069804, ack 1335120266, 창 16384, 48 데이터 바이트, 플래그 푸시 Ack
+.
X/Off 05, 플래그 18, Cksum dde1, Urg-> 0000
. . .
|
때로는 데이터가 비밀로 유지되어야하는 유일한 것은 아닙니다. 추적의 다른 식별 부분은 IP 주소와 포트 번호입니다. 내부 IP 주소를 숨기려면 전역 검색을 사용하여 수동으로 변경하고 즐겨찾는 편집기에서 함수를 교체해야 합니다. 그러나 IP 주소는 각 패킷의 네 위치에 나타납니다. 처음 두 가지는 육각 형 에 있으며 두 번째 두 개는 점선 소수지 표기법또는 -숫자 인수를 사용하지 않은 경우 이름으로 (나는 항상 -숫자, 이름 확인이 발생하지 않기 때문에 더 빨리 사용하는 것이 좋습니다) 네트워크 관계를 명백하게 만든다. 포트 번호 또는 이름은 2개 소에만 나타납니다.
13:52:04.695 Rcvd Ether Dst 00:00:00:a8:43:52:22 Src 00:23:52:18:6e 타입 0800
+(IP)
IP Ver/HL 45, ToS 0, Len 58, ID 9325, Flg/Frg 4000, TTL 80, Prtl 6
Cksum 8397, Src a4984d32,Dst a4984d80
TCP 에서 164.152.77.50. 6991 ~ 164.152.77.128. 22
seq 3417069804, ack 1335120266, 창 16384, 48 데이터 바이트, 플래그 푸시 Ack
+.
X/Off 05, 플래그 18, Cksum dde1, Urg-> 0000
|
IP 주소를 변경하는 것은 임의수를 선택하는 것만큼 간단하지 않으며 주소 간의 관계를 유지해야 합니다. 변경 전에 동일한 서브넷 또는 네트워크에 있는 두 주소는 변경 후 동일한 서브넷 또는 네트워크에 있어야 하며, 변경 전에 서로 다른 서브넷 이나 네트워크에 있는 두 개의 주소는 변경 후 다른 서브넷 또는 네트워크에 있어야 합니다. 관계를 변경하면 추적 해석에 지대한 영향을 미칠 수 있습니다.