SlideShare une entreprise Scribd logo
1  sur  30
Wireshark와 네트워크 개론
이진우
traeper@gmail.com
진행 순서
1. Wireshark 사용법
– 아주 간단한 소켓 프로그램 예제 ( Server <-> Client )
– Wireshark을 이용한 패킷 분석
2. 네트워크 살짝 설명
– OSI 7계층, TCP/IP 4계층 설명
– L2, L3, L4 스위치 설명
아주 간단한 소켓 프로그램 예제
실험 환경의 Network Topology
내 컴퓨터
1. SSH Client
2. Socket Server
공유기
(L3, NAT)
넷북
1. SSH Server(22)
2. Socket Client
Internet
192.168.219.168192.168.219.134
192.168.219.1
180.228.181.128
아주 간단한 소켓 프로그램
서버(192.168.219.168)
# Echo server program
import socket
HOST = '' # Symbolic name meaning all
available interfaces
PORT = 50007 # Arbitrary non-privileged
port
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.bind((HOST, PORT))
s.listen(1)
conn, addr = s.accept()
while 1:
data = conn.recv(1024)
print 'Recevied ', data
if not data: break
conn.sendall("server is received the
data %s" % data)
conn.close()
클라이언트(192.168.219.134)
# Echo client program
import socket
import time
HOST = '192.168.219.168' # The remote host
PORT = 50007 # The same port as used by
the server
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect((HOST, PORT))
s.sendall('Hello, world')
data = s.recv(1024)
print 'Received from server', repr(data)
time.sleep(1)
s.close()
아주 간단한 소켓 프로그램
클라이언트(192.168.219.134)
서버(192.168.219.168)
실행 장면
패킷 분석
1. 필터를 이용하여 보고 싶은 패킷만 추출하자.
2. 각 패킷들을 분석하자.
3. TCP 패킷의 생애주기를 관찰해보자.
Wireshark를 켰는데 쌓인 패킷.. 분석하려면?
Wireshark 패킷 분석
1. 쌓인 패킷들에서 필요한 것만 취함. ( 패킷에 우클릭 후 Apply as Filter 적용 )
Wireshark 패킷 분석
• 적용해본 필터링 Expression
(((((((((!(ipv6.src == fe80::e441:aabb:82d1:6473)) && !(ipv6.src ==
fe80::428:b5f7:a283:4a08)) && !(ip.src == 45.121.186.10)) && !(ip.src ==
52.91.152.165)) && !(eth.dst == 00:08:5b:7d:b1:e0)) && !(eth.src == 00:08:5b:7d:b1:e0))
&& !(ip.dst == 239.255.255.250))))
Wireshark 패킷 분석
2. 쌓인 패킷들에서 필요한 것만 취한 결과. => SSH 패킷이 대부분 -_-; SSH도 제거!
Wireshark 패킷 분석
• SSH도 제거하려면?
Port(22)를 제외시키자. => 추가해준 필터링 Expression : && !(tcp.port==22)
=> ((((((((((!(ipv6.src == fe80::e441:aabb:82d1:6473)) && !(ipv6.src ==
fe80::428:b5f7:a283:4a08)) && !(ip.src == 45.121.186.10)) && !(ip.src ==
52.91.152.165)) && !(eth.dst == 00:08:5b:7d:b1:e0)) && !(eth.src == 00:08:5b:7d:b1:e0))
&& !(ip.dst == 239.255.255.250))))) && !(tcp.port==22)
Wireshark 패킷 분석
3. 소켓 통신에 사용된 패킷만 추출 성공. (잡 패킷은 귀찮아서 무시. )
Wireshark 패킷 분석
4. Three Hand Shaking ( SYNchronize 패킷을 주고 받음. )
Wireshark 패킷 분석
5. 데이터 전달( 실제로 데이터를 보내기 위해 PuSH 패킷을 전달. )
Wireshark 패킷 분석
6. TCP 연결 종료( 연결을 끊기 위해 FINalize 패킷을 전달. )
Wireshark 패킷 분석
• ARP 패킷 구조
• TCP 패킷 구조(클라이언트, 서버 순)
네트워크 개론
웹서비스 개발에 필요한 네트워크 기초
OSI 7계층, TCP/IP 계층
• 계층표
OSI 7계층, TCP/IP 계층
• 계층표
- Data-Link Layer : Ethernet은 데이터를 Frame 단위, Broadcasting 방식으로 전송.
각 호스트들은 MAC 주소를 인식하여, 자신의 MAC 주소가 있으면 Frame을 취한
다. 반이중 통신만 가능.
- Network Layer : 모든 호스트들에 IP 어드레스를 부여하며, Inter-network 구성이
가능해진다. 각기 다른 Subnet들끼리 통신이 가능하게 됨.
- Transport Layer : IP Layer에서 전달 받은 데이터를 검증하고 응답할 수 있게 됨.
전이중 통신이 가능. 연결지향
네트워크 토폴로지 스케치
공유기
(L3)
Web
Server
Switch
(L4)
Host Host
Switch
(L2)
Router
(L3)
Router
(L3)
Router
(L3)
Router
(L3)
Inter-Network
Router
(L3)
∙∙ 공유기
(L3)
Host Host
Switch
(L2)
Switch
(L2)
Host Host
Host Host
Switch
(L2)
Sub-Network
Sub-Network
Sub-Network
Sub-NetworkWeb
Server
L2 Device - Data-Link
• L2 Switch
MAC 주소를 읽고 처리하는 스위치
Ethernet은 기본적으로 Broadcasting을 사용.
기존의 Hub는 모든 호스트들에 Broadcasting을 하기 때문에 전체 네트워크의 속도가 1/N으로 떨어졌음.
L2 Switch는 MAC 주소를 읽어서 해당 호스트에만 전달할 수 있게 호스트간의 Dedicated 대역폭을 제공.
 전체 네트워크 성능이 Hub에 비해 비약적 향상.
L3 Device - Network
• Router, L3 Switch
서로 다른 네트워크를 연결하는 장치. 패킷의 네트워크 주소(IP)를 보고 라우팅 시킴.
L4 Device - Transport
• L4 Switch
전송계층 정보 -> IP, Port 조합을 보고 트래픽을 스위칭해주는 장비. 주로 Load Balancing 기능을 수행.
시간이 남으면?
패킷 일일이 직접 까봅시다.ㅎㅎ
기타
Ubuntu에서 wireshark 설치
sudo apt-get install wireshark
sudo groupadd wireshark
sudo usermod -a -G wireshark YOUR_USER_NAME
sudo chgrp wireshark /usr/bin/dumpcap
sudo chmod 750 /usr/bin/dumpcap
sudo setcap cap_net_raw,cap_net_admin=eip /usr/bin/dumpcap
sudo getcap /usr/bin/dumpcap
출처 : https://ask.wireshark.org/questions/16343/install-wireshark-on-ubuntu
유용한 리눅스 네트워크 유틸리티 목록
• Wireshark : 패킷 분석
• iPerf : Network Bandwidth 측정
• ethtool ( linux ) : Network Driver 및 Hardware Control
• traceroute : 종단에서 다른 종단으로 가는 길을 보여줌.(라우터, 스위치 등 포함)
• tcpdump : 리눅스에서 특정 인터페이스로 오고 가는 모든 패킷을 캡처. 파일로 떨구
는 옵션 가능.
• route : 현재 장비의 IP Routing table을 보여줌.
출처
• http://www.inetdaemon.com/tutorials/internet/tcp/3-way_handshake.shtml : 3-Way
Handshake
• https://ask.wireshark.org/questions/16343/install-wireshark-on-ubuntu : wireshark 설치
• http://asec.ahnlab.com/156 : 와이어샤크 잘 알려주는 사이트. 강추!
• https://www.microsoft.com/korea/technet/deploy/tcpintro4.mspx : TCP/IP 설명
• http://beansberries.tistory.com/entry/%EB%84%A4%ED%8A%B8%EC%9B%8C%ED%81%A
C-TCPIP-4%EA%B3%84%EC%B8%B5 : TCP/IP 설명
• http://terms.naver.com/entry.nhn?docId=2274898&cid=42171&categoryId=51118
• http://yellowh.tistory.com/entry/OSI-7-Layer%EB%9E%80 : OSI 7 Layer 설명
• http://suns.tistory.com/24 : OSI 계층 및 L2~L4 스위치 설명
• http://junleenet.blogspot.kr/2013/12/lan-1_31.html : 허브, 스위치 등 설명

Contenu connexe

Tendances

Using Apache Spark to Solve Sessionization Problem in Batch and Streaming
Using Apache Spark to Solve Sessionization Problem in Batch and StreamingUsing Apache Spark to Solve Sessionization Problem in Batch and Streaming
Using Apache Spark to Solve Sessionization Problem in Batch and StreamingDatabricks
 
Native mobile application development with Flutter (Dart)
Native mobile application development with Flutter (Dart)Native mobile application development with Flutter (Dart)
Native mobile application development with Flutter (Dart)Randal Schwartz
 
ZIO-Direct - Functional Scala 2022
ZIO-Direct - Functional Scala 2022ZIO-Direct - Functional Scala 2022
ZIO-Direct - Functional Scala 2022Alexander Ioffe
 
API Microservices with Node.js and Docker
API Microservices with Node.js and DockerAPI Microservices with Node.js and Docker
API Microservices with Node.js and DockerApigee | Google Cloud
 
Doctrine ORM Internals. UnitOfWork
Doctrine ORM Internals. UnitOfWorkDoctrine ORM Internals. UnitOfWork
Doctrine ORM Internals. UnitOfWorkIllia Antypenko
 
Building beautiful apps with Google flutter
Building beautiful apps with Google flutterBuilding beautiful apps with Google flutter
Building beautiful apps with Google flutterAhmed Abu Eldahab
 
第一次用 Vue.js 就愛上 [改]
第一次用 Vue.js 就愛上 [改]第一次用 Vue.js 就愛上 [改]
第一次用 Vue.js 就愛上 [改]Kuro Hsu
 
Geonode Presentation (ppt)
Geonode Presentation (ppt)Geonode Presentation (ppt)
Geonode Presentation (ppt)Iwl Pcu
 
Build responsive applications with google flutter
Build responsive applications with  google flutterBuild responsive applications with  google flutter
Build responsive applications with google flutterAhmed Abu Eldahab
 
Monitoring Kubernetes with Elasticsearch Services - Ted Jung, Consulting Arch...
Monitoring Kubernetes with Elasticsearch Services - Ted Jung, Consulting Arch...Monitoring Kubernetes with Elasticsearch Services - Ted Jung, Consulting Arch...
Monitoring Kubernetes with Elasticsearch Services - Ted Jung, Consulting Arch...Amazon Web Services Korea
 
API Design and WebSocket
API Design and WebSocketAPI Design and WebSocket
API Design and WebSocketFrank Greco
 
Scaling Microservices with Kubernetes
Scaling Microservices with KubernetesScaling Microservices with Kubernetes
Scaling Microservices with KubernetesDeivid Hahn Fração
 
Connecting NEST via MQTT to Internet of Things
Connecting NEST via MQTT to Internet of ThingsConnecting NEST via MQTT to Internet of Things
Connecting NEST via MQTT to Internet of ThingsMarkus Van Kempen
 
Oracle APEX Interactive Grid Essentials
Oracle APEX Interactive Grid EssentialsOracle APEX Interactive Grid Essentials
Oracle APEX Interactive Grid EssentialsKaren Cannell
 
Building a GraphQL API in PHP
Building a GraphQL API in PHPBuilding a GraphQL API in PHP
Building a GraphQL API in PHPAndrew Rota
 

Tendances (20)

Using Apache Spark to Solve Sessionization Problem in Batch and Streaming
Using Apache Spark to Solve Sessionization Problem in Batch and StreamingUsing Apache Spark to Solve Sessionization Problem in Batch and Streaming
Using Apache Spark to Solve Sessionization Problem in Batch and Streaming
 
Native mobile application development with Flutter (Dart)
Native mobile application development with Flutter (Dart)Native mobile application development with Flutter (Dart)
Native mobile application development with Flutter (Dart)
 
ZIO-Direct - Functional Scala 2022
ZIO-Direct - Functional Scala 2022ZIO-Direct - Functional Scala 2022
ZIO-Direct - Functional Scala 2022
 
API Microservices with Node.js and Docker
API Microservices with Node.js and DockerAPI Microservices with Node.js and Docker
API Microservices with Node.js and Docker
 
Doctrine ORM Internals. UnitOfWork
Doctrine ORM Internals. UnitOfWorkDoctrine ORM Internals. UnitOfWork
Doctrine ORM Internals. UnitOfWork
 
Building beautiful apps with Google flutter
Building beautiful apps with Google flutterBuilding beautiful apps with Google flutter
Building beautiful apps with Google flutter
 
第一次用 Vue.js 就愛上 [改]
第一次用 Vue.js 就愛上 [改]第一次用 Vue.js 就愛上 [改]
第一次用 Vue.js 就愛上 [改]
 
Geonode Presentation (ppt)
Geonode Presentation (ppt)Geonode Presentation (ppt)
Geonode Presentation (ppt)
 
GeoServer 기초
GeoServer 기초GeoServer 기초
GeoServer 기초
 
Apache Spark Overview
Apache Spark OverviewApache Spark Overview
Apache Spark Overview
 
Build responsive applications with google flutter
Build responsive applications with  google flutterBuild responsive applications with  google flutter
Build responsive applications with google flutter
 
Monitoring Kubernetes with Elasticsearch Services - Ted Jung, Consulting Arch...
Monitoring Kubernetes with Elasticsearch Services - Ted Jung, Consulting Arch...Monitoring Kubernetes with Elasticsearch Services - Ted Jung, Consulting Arch...
Monitoring Kubernetes with Elasticsearch Services - Ted Jung, Consulting Arch...
 
API Design and WebSocket
API Design and WebSocketAPI Design and WebSocket
API Design and WebSocket
 
Scaling Microservices with Kubernetes
Scaling Microservices with KubernetesScaling Microservices with Kubernetes
Scaling Microservices with Kubernetes
 
gRPC Overview
gRPC OverviewgRPC Overview
gRPC Overview
 
Connecting NEST via MQTT to Internet of Things
Connecting NEST via MQTT to Internet of ThingsConnecting NEST via MQTT to Internet of Things
Connecting NEST via MQTT to Internet of Things
 
Flutter beyond hello world
Flutter beyond hello worldFlutter beyond hello world
Flutter beyond hello world
 
Oracle APEX Interactive Grid Essentials
Oracle APEX Interactive Grid EssentialsOracle APEX Interactive Grid Essentials
Oracle APEX Interactive Grid Essentials
 
Building a GraphQL API in PHP
Building a GraphQL API in PHPBuilding a GraphQL API in PHP
Building a GraphQL API in PHP
 
WebAssembly Overview
WebAssembly OverviewWebAssembly Overview
WebAssembly Overview
 

En vedette

간단한 쉘 스크립트 작성하기
간단한 쉘 스크립트 작성하기간단한 쉘 스크립트 작성하기
간단한 쉘 스크립트 작성하기licubeclub
 
동작 파라미터와 람다 In java 8
동작 파라미터와 람다 In java 8동작 파라미터와 람다 In java 8
동작 파라미터와 람다 In java 8진우 이
 
DNS Express
DNS ExpressDNS Express
DNS Expressitian-f5
 
김명환
김명환김명환
김명환Eanis_
 
Jco14 오픈소스를 이용한 모니터링 방법
Jco14 오픈소스를 이용한 모니터링 방법Jco14 오픈소스를 이용한 모니터링 방법
Jco14 오픈소스를 이용한 모니터링 방법정수 한
 
실무로 배우는 시스템 성능 최적화 10부. 네트워크 모니터링
실무로 배우는 시스템 성능 최적화   10부. 네트워크 모니터링실무로 배우는 시스템 성능 최적화   10부. 네트워크 모니터링
실무로 배우는 시스템 성능 최적화 10부. 네트워크 모니터링Hyunsoo Jung
 
7급 공무원도 쉽게 따라하는 쉘 스크립트
7급 공무원도 쉽게 따라하는 쉘 스크립트7급 공무원도 쉽게 따라하는 쉘 스크립트
7급 공무원도 쉽게 따라하는 쉘 스크립트Young-Ho Cha
 
서버 인프라를지탱하는기술(1.3,1.4)
서버 인프라를지탱하는기술(1.3,1.4)서버 인프라를지탱하는기술(1.3,1.4)
서버 인프라를지탱하는기술(1.3,1.4)Choonghyun Yang
 
04. it정보화전략-어플리케이션 아키텍처
04. it정보화전략-어플리케이션 아키텍처04. it정보화전략-어플리케이션 아키텍처
04. it정보화전략-어플리케이션 아키텍처InGuen Hwang
 
IT전략계획- 02.정보전략계획(isp)
IT전략계획- 02.정보전략계획(isp)IT전략계획- 02.정보전략계획(isp)
IT전략계획- 02.정보전략계획(isp)InGuen Hwang
 
02. it정보화전략-보안 아키텍처 도입
02. it정보화전략-보안 아키텍처 도입02. it정보화전략-보안 아키텍처 도입
02. it정보화전략-보안 아키텍처 도입InGuen Hwang
 
네트워크 분석 개론(넷마이너)
네트워크 분석 개론(넷마이너)네트워크 분석 개론(넷마이너)
네트워크 분석 개론(넷마이너)Baro Kim
 
네트워크와 보안
네트워크와 보안네트워크와 보안
네트워크와 보안InGuen Hwang
 
톰캣 운영 노하우
톰캣 운영 노하우톰캣 운영 노하우
톰캣 운영 노하우jieunsys
 
[오픈소스컨설팅]Zabbix Installation and Configuration Guide
[오픈소스컨설팅]Zabbix Installation and Configuration Guide[오픈소스컨설팅]Zabbix Installation and Configuration Guide
[오픈소스컨설팅]Zabbix Installation and Configuration GuideJi-Woong Choi
 

En vedette (20)

간단한 쉘 스크립트 작성하기
간단한 쉘 스크립트 작성하기간단한 쉘 스크립트 작성하기
간단한 쉘 스크립트 작성하기
 
Tcpdump
TcpdumpTcpdump
Tcpdump
 
Meteor IoT
Meteor IoTMeteor IoT
Meteor IoT
 
동작 파라미터와 람다 In java 8
동작 파라미터와 람다 In java 8동작 파라미터와 람다 In java 8
동작 파라미터와 람다 In java 8
 
DNS Express
DNS ExpressDNS Express
DNS Express
 
김명환
김명환김명환
김명환
 
Jco14 오픈소스를 이용한 모니터링 방법
Jco14 오픈소스를 이용한 모니터링 방법Jco14 오픈소스를 이용한 모니터링 방법
Jco14 오픈소스를 이용한 모니터링 방법
 
실무로 배우는 시스템 성능 최적화 10부. 네트워크 모니터링
실무로 배우는 시스템 성능 최적화   10부. 네트워크 모니터링실무로 배우는 시스템 성능 최적화   10부. 네트워크 모니터링
실무로 배우는 시스템 성능 최적화 10부. 네트워크 모니터링
 
L4교육자료
L4교육자료L4교육자료
L4교육자료
 
7급 공무원도 쉽게 따라하는 쉘 스크립트
7급 공무원도 쉽게 따라하는 쉘 스크립트7급 공무원도 쉽게 따라하는 쉘 스크립트
7급 공무원도 쉽게 따라하는 쉘 스크립트
 
서버 인프라를지탱하는기술(1.3,1.4)
서버 인프라를지탱하는기술(1.3,1.4)서버 인프라를지탱하는기술(1.3,1.4)
서버 인프라를지탱하는기술(1.3,1.4)
 
04. it정보화전략-어플리케이션 아키텍처
04. it정보화전략-어플리케이션 아키텍처04. it정보화전략-어플리케이션 아키텍처
04. it정보화전략-어플리케이션 아키텍처
 
암호화
암호화암호화
암호화
 
IT전략계획- 02.정보전략계획(isp)
IT전략계획- 02.정보전략계획(isp)IT전략계획- 02.정보전략계획(isp)
IT전략계획- 02.정보전략계획(isp)
 
02. it정보화전략-보안 아키텍처 도입
02. it정보화전략-보안 아키텍처 도입02. it정보화전략-보안 아키텍처 도입
02. it정보화전략-보안 아키텍처 도입
 
네트워크 분석 개론(넷마이너)
네트워크 분석 개론(넷마이너)네트워크 분석 개론(넷마이너)
네트워크 분석 개론(넷마이너)
 
네트워크와 보안
네트워크와 보안네트워크와 보안
네트워크와 보안
 
톰캣 운영 노하우
톰캣 운영 노하우톰캣 운영 노하우
톰캣 운영 노하우
 
네트워크 기본
네트워크 기본네트워크 기본
네트워크 기본
 
[오픈소스컨설팅]Zabbix Installation and Configuration Guide
[오픈소스컨설팅]Zabbix Installation and Configuration Guide[오픈소스컨설팅]Zabbix Installation and Configuration Guide
[오픈소스컨설팅]Zabbix Installation and Configuration Guide
 

Similaire à Wire shark 사용법 및 네트워크 개론 살짝 설명

Netmanias L2,L3 Training (5) L3 SW Architecture
Netmanias L2,L3 Training (5) L3 SW ArchitectureNetmanias L2,L3 Training (5) L3 SW Architecture
Netmanias L2,L3 Training (5) L3 SW ArchitectureChris Changmo Yoo
 
ACL - cisco 2811 router
ACL - cisco 2811 router ACL - cisco 2811 router
ACL - cisco 2811 router 준기 홍
 
Netmanias L2,L3 Training (1) L2 Ethernet
Netmanias L2,L3 Training (1) L2 EthernetNetmanias L2,L3 Training (1) L2 Ethernet
Netmanias L2,L3 Training (1) L2 EthernetChris Changmo Yoo
 
Jnetpcap quickguide
Jnetpcap quickguideJnetpcap quickguide
Jnetpcap quickguideSukjin Yun
 
Netmanias L2,L3 Training (3) L2, L3 QoS
Netmanias L2,L3 Training (3) L2, L3 QoSNetmanias L2,L3 Training (3) L2, L3 QoS
Netmanias L2,L3 Training (3) L2, L3 QoSChris Changmo Yoo
 
20150525 open flow1.3_ryu_sdn_link aggregation 1_김지은
20150525 open flow1.3_ryu_sdn_link aggregation 1_김지은20150525 open flow1.3_ryu_sdn_link aggregation 1_김지은
20150525 open flow1.3_ryu_sdn_link aggregation 1_김지은jieun kim
 
리눅스 소켓 프로그래밍 기초
리눅스 소켓 프로그래밍 기초리눅스 소켓 프로그래밍 기초
리눅스 소켓 프로그래밍 기초Yu Yongwoo
 
소켓프로그래밍 기초요약
소켓프로그래밍 기초요약소켓프로그래밍 기초요약
소켓프로그래밍 기초요약세빈 정
 
KGC 2014: 클라이언트 개발자를 위한 컴퓨터 네트워크 기초 배현직
KGC 2014: 클라이언트 개발자를 위한 컴퓨터 네트워크 기초 배현직KGC 2014: 클라이언트 개발자를 위한 컴퓨터 네트워크 기초 배현직
KGC 2014: 클라이언트 개발자를 위한 컴퓨터 네트워크 기초 배현직Hyunjik Bae
 
[164] pinpoint
[164] pinpoint[164] pinpoint
[164] pinpointNAVER D2
 
오픈스택 멀티노드 설치 후기
오픈스택 멀티노드 설치 후기오픈스택 멀티노드 설치 후기
오픈스택 멀티노드 설치 후기영우 김
 
Before OTD EDU Assignments
Before OTD EDU AssignmentsBefore OTD EDU Assignments
Before OTD EDU AssignmentsBeom Lee
 
150416 OpenStack Networking with Neutron Jieun, Kim
150416 OpenStack Networking with Neutron Jieun, Kim150416 OpenStack Networking with Neutron Jieun, Kim
150416 OpenStack Networking with Neutron Jieun, Kimjieun kim
 
Switch Principles of operation
Switch Principles of operationSwitch Principles of operation
Switch Principles of operationLee Kenneth
 
쓰레드.pdf
쓰레드.pdf쓰레드.pdf
쓰레드.pdfSeokju Hong
 
Private cloud network architecture (2018)
Private cloud network architecture (2018)Private cloud network architecture (2018)
Private cloud network architecture (2018)Gasida Seo
 
클라우드 환경을 위한 네트워크 가상화와 NSX(기초편)
클라우드 환경을 위한 네트워크 가상화와 NSX(기초편)클라우드 환경을 위한 네트워크 가상화와 NSX(기초편)
클라우드 환경을 위한 네트워크 가상화와 NSX(기초편)Laehyoung Kim
 
[NodeJS] - NET 모듈 소개
[NodeJS] - NET 모듈 소개[NodeJS] - NET 모듈 소개
[NodeJS] - NET 모듈 소개문학청년
 

Similaire à Wire shark 사용법 및 네트워크 개론 살짝 설명 (20)

Netmanias L2,L3 Training (5) L3 SW Architecture
Netmanias L2,L3 Training (5) L3 SW ArchitectureNetmanias L2,L3 Training (5) L3 SW Architecture
Netmanias L2,L3 Training (5) L3 SW Architecture
 
ACL - cisco 2811 router
ACL - cisco 2811 router ACL - cisco 2811 router
ACL - cisco 2811 router
 
Netmanias L2,L3 Training (1) L2 Ethernet
Netmanias L2,L3 Training (1) L2 EthernetNetmanias L2,L3 Training (1) L2 Ethernet
Netmanias L2,L3 Training (1) L2 Ethernet
 
Jnetpcap quickguide
Jnetpcap quickguideJnetpcap quickguide
Jnetpcap quickguide
 
Netmanias L2,L3 Training (3) L2, L3 QoS
Netmanias L2,L3 Training (3) L2, L3 QoSNetmanias L2,L3 Training (3) L2, L3 QoS
Netmanias L2,L3 Training (3) L2, L3 QoS
 
20150525 open flow1.3_ryu_sdn_link aggregation 1_김지은
20150525 open flow1.3_ryu_sdn_link aggregation 1_김지은20150525 open flow1.3_ryu_sdn_link aggregation 1_김지은
20150525 open flow1.3_ryu_sdn_link aggregation 1_김지은
 
리눅스 소켓 프로그래밍 기초
리눅스 소켓 프로그래밍 기초리눅스 소켓 프로그래밍 기초
리눅스 소켓 프로그래밍 기초
 
소켓프로그래밍 기초요약
소켓프로그래밍 기초요약소켓프로그래밍 기초요약
소켓프로그래밍 기초요약
 
KGC 2014: 클라이언트 개발자를 위한 컴퓨터 네트워크 기초 배현직
KGC 2014: 클라이언트 개발자를 위한 컴퓨터 네트워크 기초 배현직KGC 2014: 클라이언트 개발자를 위한 컴퓨터 네트워크 기초 배현직
KGC 2014: 클라이언트 개발자를 위한 컴퓨터 네트워크 기초 배현직
 
[164] pinpoint
[164] pinpoint[164] pinpoint
[164] pinpoint
 
오픈스택 멀티노드 설치 후기
오픈스택 멀티노드 설치 후기오픈스택 멀티노드 설치 후기
오픈스택 멀티노드 설치 후기
 
Before OTD EDU Assignments
Before OTD EDU AssignmentsBefore OTD EDU Assignments
Before OTD EDU Assignments
 
150416 OpenStack Networking with Neutron Jieun, Kim
150416 OpenStack Networking with Neutron Jieun, Kim150416 OpenStack Networking with Neutron Jieun, Kim
150416 OpenStack Networking with Neutron Jieun, Kim
 
퀴즈요약
퀴즈요약퀴즈요약
퀴즈요약
 
KAFKA 3.1.0.pdf
KAFKA 3.1.0.pdfKAFKA 3.1.0.pdf
KAFKA 3.1.0.pdf
 
Switch Principles of operation
Switch Principles of operationSwitch Principles of operation
Switch Principles of operation
 
쓰레드.pdf
쓰레드.pdf쓰레드.pdf
쓰레드.pdf
 
Private cloud network architecture (2018)
Private cloud network architecture (2018)Private cloud network architecture (2018)
Private cloud network architecture (2018)
 
클라우드 환경을 위한 네트워크 가상화와 NSX(기초편)
클라우드 환경을 위한 네트워크 가상화와 NSX(기초편)클라우드 환경을 위한 네트워크 가상화와 NSX(기초편)
클라우드 환경을 위한 네트워크 가상화와 NSX(기초편)
 
[NodeJS] - NET 모듈 소개
[NodeJS] - NET 모듈 소개[NodeJS] - NET 모듈 소개
[NodeJS] - NET 모듈 소개
 

Wire shark 사용법 및 네트워크 개론 살짝 설명

  • 1.
  • 3. 진행 순서 1. Wireshark 사용법 – 아주 간단한 소켓 프로그램 예제 ( Server <-> Client ) – Wireshark을 이용한 패킷 분석 2. 네트워크 살짝 설명 – OSI 7계층, TCP/IP 4계층 설명 – L2, L3, L4 스위치 설명
  • 4. 아주 간단한 소켓 프로그램 예제
  • 5. 실험 환경의 Network Topology 내 컴퓨터 1. SSH Client 2. Socket Server 공유기 (L3, NAT) 넷북 1. SSH Server(22) 2. Socket Client Internet 192.168.219.168192.168.219.134 192.168.219.1 180.228.181.128
  • 6. 아주 간단한 소켓 프로그램 서버(192.168.219.168) # Echo server program import socket HOST = '' # Symbolic name meaning all available interfaces PORT = 50007 # Arbitrary non-privileged port s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) s.bind((HOST, PORT)) s.listen(1) conn, addr = s.accept() while 1: data = conn.recv(1024) print 'Recevied ', data if not data: break conn.sendall("server is received the data %s" % data) conn.close() 클라이언트(192.168.219.134) # Echo client program import socket import time HOST = '192.168.219.168' # The remote host PORT = 50007 # The same port as used by the server s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) s.connect((HOST, PORT)) s.sendall('Hello, world') data = s.recv(1024) print 'Received from server', repr(data) time.sleep(1) s.close()
  • 7. 아주 간단한 소켓 프로그램 클라이언트(192.168.219.134) 서버(192.168.219.168) 실행 장면
  • 8. 패킷 분석 1. 필터를 이용하여 보고 싶은 패킷만 추출하자. 2. 각 패킷들을 분석하자. 3. TCP 패킷의 생애주기를 관찰해보자.
  • 9. Wireshark를 켰는데 쌓인 패킷.. 분석하려면?
  • 10. Wireshark 패킷 분석 1. 쌓인 패킷들에서 필요한 것만 취함. ( 패킷에 우클릭 후 Apply as Filter 적용 )
  • 11. Wireshark 패킷 분석 • 적용해본 필터링 Expression (((((((((!(ipv6.src == fe80::e441:aabb:82d1:6473)) && !(ipv6.src == fe80::428:b5f7:a283:4a08)) && !(ip.src == 45.121.186.10)) && !(ip.src == 52.91.152.165)) && !(eth.dst == 00:08:5b:7d:b1:e0)) && !(eth.src == 00:08:5b:7d:b1:e0)) && !(ip.dst == 239.255.255.250))))
  • 12. Wireshark 패킷 분석 2. 쌓인 패킷들에서 필요한 것만 취한 결과. => SSH 패킷이 대부분 -_-; SSH도 제거!
  • 13. Wireshark 패킷 분석 • SSH도 제거하려면? Port(22)를 제외시키자. => 추가해준 필터링 Expression : && !(tcp.port==22) => ((((((((((!(ipv6.src == fe80::e441:aabb:82d1:6473)) && !(ipv6.src == fe80::428:b5f7:a283:4a08)) && !(ip.src == 45.121.186.10)) && !(ip.src == 52.91.152.165)) && !(eth.dst == 00:08:5b:7d:b1:e0)) && !(eth.src == 00:08:5b:7d:b1:e0)) && !(ip.dst == 239.255.255.250))))) && !(tcp.port==22)
  • 14. Wireshark 패킷 분석 3. 소켓 통신에 사용된 패킷만 추출 성공. (잡 패킷은 귀찮아서 무시. )
  • 15. Wireshark 패킷 분석 4. Three Hand Shaking ( SYNchronize 패킷을 주고 받음. )
  • 16. Wireshark 패킷 분석 5. 데이터 전달( 실제로 데이터를 보내기 위해 PuSH 패킷을 전달. )
  • 17. Wireshark 패킷 분석 6. TCP 연결 종료( 연결을 끊기 위해 FINalize 패킷을 전달. )
  • 18. Wireshark 패킷 분석 • ARP 패킷 구조 • TCP 패킷 구조(클라이언트, 서버 순)
  • 19. 네트워크 개론 웹서비스 개발에 필요한 네트워크 기초
  • 20. OSI 7계층, TCP/IP 계층 • 계층표
  • 21. OSI 7계층, TCP/IP 계층 • 계층표 - Data-Link Layer : Ethernet은 데이터를 Frame 단위, Broadcasting 방식으로 전송. 각 호스트들은 MAC 주소를 인식하여, 자신의 MAC 주소가 있으면 Frame을 취한 다. 반이중 통신만 가능. - Network Layer : 모든 호스트들에 IP 어드레스를 부여하며, Inter-network 구성이 가능해진다. 각기 다른 Subnet들끼리 통신이 가능하게 됨. - Transport Layer : IP Layer에서 전달 받은 데이터를 검증하고 응답할 수 있게 됨. 전이중 통신이 가능. 연결지향
  • 22. 네트워크 토폴로지 스케치 공유기 (L3) Web Server Switch (L4) Host Host Switch (L2) Router (L3) Router (L3) Router (L3) Router (L3) Inter-Network Router (L3) ∙∙ 공유기 (L3) Host Host Switch (L2) Switch (L2) Host Host Host Host Switch (L2) Sub-Network Sub-Network Sub-Network Sub-NetworkWeb Server
  • 23. L2 Device - Data-Link • L2 Switch MAC 주소를 읽고 처리하는 스위치 Ethernet은 기본적으로 Broadcasting을 사용. 기존의 Hub는 모든 호스트들에 Broadcasting을 하기 때문에 전체 네트워크의 속도가 1/N으로 떨어졌음. L2 Switch는 MAC 주소를 읽어서 해당 호스트에만 전달할 수 있게 호스트간의 Dedicated 대역폭을 제공.  전체 네트워크 성능이 Hub에 비해 비약적 향상.
  • 24. L3 Device - Network • Router, L3 Switch 서로 다른 네트워크를 연결하는 장치. 패킷의 네트워크 주소(IP)를 보고 라우팅 시킴.
  • 25. L4 Device - Transport • L4 Switch 전송계층 정보 -> IP, Port 조합을 보고 트래픽을 스위칭해주는 장비. 주로 Load Balancing 기능을 수행.
  • 26. 시간이 남으면? 패킷 일일이 직접 까봅시다.ㅎㅎ
  • 28. Ubuntu에서 wireshark 설치 sudo apt-get install wireshark sudo groupadd wireshark sudo usermod -a -G wireshark YOUR_USER_NAME sudo chgrp wireshark /usr/bin/dumpcap sudo chmod 750 /usr/bin/dumpcap sudo setcap cap_net_raw,cap_net_admin=eip /usr/bin/dumpcap sudo getcap /usr/bin/dumpcap 출처 : https://ask.wireshark.org/questions/16343/install-wireshark-on-ubuntu
  • 29. 유용한 리눅스 네트워크 유틸리티 목록 • Wireshark : 패킷 분석 • iPerf : Network Bandwidth 측정 • ethtool ( linux ) : Network Driver 및 Hardware Control • traceroute : 종단에서 다른 종단으로 가는 길을 보여줌.(라우터, 스위치 등 포함) • tcpdump : 리눅스에서 특정 인터페이스로 오고 가는 모든 패킷을 캡처. 파일로 떨구 는 옵션 가능. • route : 현재 장비의 IP Routing table을 보여줌.
  • 30. 출처 • http://www.inetdaemon.com/tutorials/internet/tcp/3-way_handshake.shtml : 3-Way Handshake • https://ask.wireshark.org/questions/16343/install-wireshark-on-ubuntu : wireshark 설치 • http://asec.ahnlab.com/156 : 와이어샤크 잘 알려주는 사이트. 강추! • https://www.microsoft.com/korea/technet/deploy/tcpintro4.mspx : TCP/IP 설명 • http://beansberries.tistory.com/entry/%EB%84%A4%ED%8A%B8%EC%9B%8C%ED%81%A C-TCPIP-4%EA%B3%84%EC%B8%B5 : TCP/IP 설명 • http://terms.naver.com/entry.nhn?docId=2274898&cid=42171&categoryId=51118 • http://yellowh.tistory.com/entry/OSI-7-Layer%EB%9E%80 : OSI 7 Layer 설명 • http://suns.tistory.com/24 : OSI 계층 및 L2~L4 스위치 설명 • http://junleenet.blogspot.kr/2013/12/lan-1_31.html : 허브, 스위치 등 설명

Notes de l'éditeur

  1. OSI7계층은 ISO 국제 표준으로 개발 할수 있도록 내놓은 표준화 골격이라고 보시면 됩니다.   TCP/IP는 정확히 4계층으로 이루어쳐 있고 OSI7계층에서 나눈 계층을 몇몇 가닥으로 요약해서 OSI7계층 비슷하게 만들어 졌습니다. http://kin.naver.com/qna/detail.nhn?d1id=1&dirId=10801&docId=76996645&qb=T1NJIDcg6rOE7Li1IHZzIFRDUC9JUA==&enc=utf8&section=kin&rank=2&search_sort=0&spq=0&pid=SroP4woRR00sscJlftNsssssstV-189917&sid=4Pa9d9MKctBvtlmUKwCJnw%3D%3D
  2. Wireshark에서 넷북과 내 컴퓨터의 Source, Destination IP만으로 걸러내면 SSH 패킷과 Socket 통신한 내용만 출력될 것이다.
  3. Frame : Data Link 계층의 통신단위 Packet : Network 계층의 통신단위 Segment : Transport 계층의 통신단위
  4. 공유기로 쪼개진 Sub-Network들 내부에서는 L2 Switch만 있어도 통신이 가능하다. 하지만 다른 Subnet과 통신하기 위해서는 Routing이 가능해야 하므로 L3 장비가 필요하다.
  5. DHCP 서버 동작 예) 전체 호스트들에게 패킷을 모두 전파하려는 DHCP Server의 경우는 DHCP 패킷을 Flooding 시켜서 전체 호스트들에게 패킷을 전파함.
  6. 요구사항은 너무 간단해서 제외하고 Feature를 바로 분석.
  7. 요구사항은 너무 간단해서 제외하고 Feature를 바로 분석.