tshark -i 1 -c 10 -w test2.pcap
→ tshark 인터페이스 1번에서 10개 신호를 읽어서 test2.pcap 파일에 저장해라
tshark -r test2.pcap
→ test2.pcap 파일을 읽어와라
tshark -r test2.pcap -T json
→ json 포맷으로 변환해라
Tshark 옵션 예제
-Y : 디스플레이 필터링 옵션
-f : 캡쳐 자체를 내가 하고싶은 것만 (tshark -i 1 -f “host 192.168.20.8” / “host 192.168.20.8 and tcp port 21” …) * (참고) wireshark 에서 인터페이스로도 f 필터를 걸 수 있다.
-Tfields -e : 필드를 지정해서 출력 (tshark -r text3.pcap -Tfields -e ip.src -e ip.dst…)
-V : 좀 더 자세한 정보를 볼 수 있음 (wireshark 인터페이스의 가운데 테이블에 표시되는…)
-O http : http 프토토콜 타입으로 추출. 헤더 정보 등…(tshark -i 1 -O http -f “…..)
-G 옵션을 찾는 옵션 (tshark -G | cut -f3 | grep "^http." | grep uri ⇒ http에 관한, 그중에서 uri에 관한 옵션) : Tfields -e 다음에 옵션을 입력하면 됨
(tshark -r http_test.pcap -Tfields -e http.content_type | sort -r | uniq)
(sort -r | uniq ⇒ 공백 제거용)
Tshark 옵션 정리
- tshark -D 네트워크 인터페이스 정보 확인
- tshark -i 모니터링 할 인터페이스 선택
- tshark -i 1 -Y display filter option (ip.addr == 192.168.20.6 / tcp.port ==80, tcp.src == tcp.dst == / icmp && ip.addr ==… / arp || icmp)
- tshark -i 1 -f captures filter option (host 192.168.20.6 / tcp port uo or arp / tcp port 80 and host 192.168.20.6 / tcp port 80 and not arp)
- tshark -i 1 -c 10 카운트 패킷
- tshark -i 1 -w 저장
- tshark -r 저장된 pcap 읽기
- tshark -r 저장된 pcap -T json 지정된 포맷으로 출력 (실시간으로도 가능하지만 너무 느림)
- tshark -r 저장된 pcap -Tfields -e 필드를 지정해서 출력
스위치 연결 예시
1. PC1 : ping PC2
2. PC1에 arp cache table 안에 PC2의 MAC 정보가 없으면 (arp -a로 확인 가능)
3. arp broadcast를 이용해서 PC2 ip주소의 MAC주소를 요청 (broadcast 요청해서, unicast로 학습)
4. 학습된 PC2의 MAC 정보를 이용해서 스위치에게 문의
5. eth port 2 = PC2 MAC 라는 MAC Address Table 정보를 통해 eth port 2에 연결된 디바이스가 PC2 임을 알고 연결
[STP - Spanning Tree Protocol]
[VLAN]
SDN(Software Define Network) - 네트워크를 소프트웨어적으로 만듬
클라우드에서 소프트웨어적으로 네트워크 장비를 만들어 냄
SNAT : 사설 IP주소를 게이트웨이를 통해서 밖으로(real IP) 전환시킴 > NAT 환경에서 DCHP를 통해 IP를 할당 받음.
DNAT : 외부에서 들어오는 신호를 내부 환경으로 연결
게이트웨이 : 3계층 (라우터는 게이트웨이 역할을 같이 한다.)
라우터는 NAT를 지원해주나, NAT가 라우터는 아님.
정리 질문
Q1. 네이버의 모니터링 담당자는 요청자의 IP/MAC Address를 알 수 있는가?
Q2. 수많은 라우터를 거치는 사이에 데이터를 볼 수 있는가?