Recommended Ryu with OpenFlow 1.3, Traffic Monitor
Wire shark 사용법 및 네트워크 개론 살짝 설명
파이썬+네트워크 20160210
Ch01 네트워크와+소켓+프로그래밍+[호환+모드]
잘 알려지지 않은 숨은 진주, Winsock API - WSAPoll, Fast Loopback
KGC 2016 오픈소스 네트워크 엔진 Super socket 사용하기
[네트워크] TCP, 믿을 수 있나요!?
실무로 배우는 시스템 성능 최적화 10부. 네트워크 모니터링
Tensorflow로 플로이드 클라우드에서 합성곱 신경망 (CNN) 구현해보기
Python Network Programming
Python socket programming
도커없이컨테이너 만들기 8편 - pid namespace
2015 제2회 동아리 해커 세미나 - 병렬컴퓨팅 소개 (16기 김정현)
[KGC2014] DX9에서DX11로의이행경험공유
Remote-debugging-based-on-notrace32-20130619-1900
More Related Content Ryu with OpenFlow 1.3, Traffic Monitor
Wire shark 사용법 및 네트워크 개론 살짝 설명
파이썬+네트워크 20160210
Ch01 네트워크와+소켓+프로그래밍+[호환+모드]
잘 알려지지 않은 숨은 진주, Winsock API - WSAPoll, Fast Loopback
KGC 2016 오픈소스 네트워크 엔진 Super socket 사용하기
What's hot (18)
[네트워크] TCP, 믿을 수 있나요!?
실무로 배우는 시스템 성능 최적화 10부. 네트워크 모니터링
Tensorflow로 플로이드 클라우드에서 합성곱 신경망 (CNN) 구현해보기
Python Network Programming
Python socket programming
도커없이컨테이너 만들기 8편 - pid namespace
Similar to Jnetpcap quickguide (20) 2015 제2회 동아리 해커 세미나 - 병렬컴퓨팅 소개 (16기 김정현)
[KGC2014] DX9에서DX11로의이행경험공유
Remote-debugging-based-on-notrace32-20130619-1900
(2013 DEVIEW) 멀티쓰레드 프로그래밍이 왜이리 힘드나요?
DPDK (Data Plane Development Kit)
[조진현] [Kgc2011]direct x11 이야기
kics2013-winter-biomp-slide-20130127-1340
GOTHAM 오픈소스 메쉬 네트워킹 소프트웨어 패키지
[KGC 2013] Online Game Security in China
[발표자료] AWS 클라우드 인프라 BDFDoor 대응 방안.pdf
Linux Kernel Boot Process , SOSCON 2015, By Mario Cho
More from Sukjin Yun (20)
Enterprise Java web Deployment Strategy
Jnetpcap quickguide1. jnetpcap 개발가이드
java network packet capture api
(jnetpcap)
Quick start guide
Originated by http://jnetpcap.com/
darkandark90@gmail.com
3. Target Audience
• 네트워크 프로그래밍을 하는 사람.
• wireshark 쓰는 게 버거운 사람.
• 개발서버가 없어서 고객 실서버에서 뭔가
해결해야 하는 사람(welcome to hell)
- play network programing
- want to have to make personalization
network capture tool
4. Test version
JDK 1.7 64bit
jnetpcap-1.3.b4-1.win64.zip
-jdk버전은 상관없음. 1.6 32bit 권장
일반적으로 대상장비들이 32bit lpv4
신형장비인 경우 64bit ipv6 인 경우가 많으므로
만약 상업적으로 뭔가를 한다면 그냥 32bit 추천
유사 라이브러리
- winpcap
- jpcap
12. Api 사용 장비 조회
존재여부
//network device저장용
• List<PcapIf> alldevs = new ArrayList<PcapIf>();
• StringBuilder errbuf = new StringBuilder();
• int r = Pcap.findAllDevs(alldevs, errbuf);
• if (r == Pcap.NOT_OK || alldevs.isEmpty()) {
• System.err.printf("Can't read list of
devices, error is %s", errbuf
• .toString());
• return;
• }
14. Device 조회결과
• #0: DeviceNPF_{940F2889-F79F-4438-807C-
E745A91C0F2F} [VMware Virtual Ethernet
Adapter]
• #1: DeviceNPF_{47CC0E79-D78A-42F0-8A78-
7104AB62AA48} [Realtek PCIe GBE Family
Controller]
• #2: DeviceNPF_{F04CEA22-A7CC-406A-A27E-
BF440554CBB6} [Realtek PCIe GBE Family
Controller]
• #3: DeviceNPF_{C2E8FF15-D8A3-4320-A70B-
011511818BC5} [VMware Virtual Ethernet Adapter]
15. packet capture api
PcapPacketHandler이용
• JPacketHandler<String> jpacketHandler = new
JPacketHandler<String>() {
• @Override
• public void nextPacket(JPacket packet, String user) {
• final JCaptureHeader header = packet.getCaptureHeader();
• System.out.printf( "packet caplen=%d wiredlen=%dn",
header.caplen(), header.wirelen());
• System.out.println(packet.toString());
• }
• };
• pcap.loop(10, jpacketHandler, "jpacket test");
• }
16. packet capture 결과
• packet caplen=66 wiredlen=66
• Frame:
• Frame: number = 0
• Frame: timestamp = 2013-05-05 01:56:06.805
• Frame: wire length = 66 bytes
• Frame: captured length = 66 bytes
• Frame:
• Eth: ******* Ethernet - "Ethernet" - offset=0 (0x0) length=14
• Eth:
• Eth: destination = 72:08:17:18:2e:23
• Eth: .... ..0. .... .... = [0] LG bit
• Eth: .... ...0 .... .... = [2] IG bit
• Eth: source = 00:25:22:a4:93:fe
• Eth: .... ..0. .... .... = [0] LG bit
• Eth: .... ...0 .... .... = [2] IG bit
• Eth: type = 0x800 (2048) [ip version 4]
• Eth:
• Ip: ******* Ip4 - "ip version 4" - offset=14 (0xE) length=20 protocol suite=NETWORK
• Ip:
• Ip: version = 4
• Ip: hlen = 5 [5 * 4 = 20 bytes, No Ip Options]
• Ip: diffserv = 0x0 (0)
• Ip: 0000 00.. = [0] code point: not set
• Ip: .... ..0. = [0] ECN bit: not set
• Ip: .... ...0 = [0] ECE bit: not set
• Ip: length = 52
• Ip: id = 0x14DB (5339)
• Ip: flags = 0x2 (2)
• Ip: 0.. = [0] reserved
• Ip: .1. = [1] DF: do not fragment: set
• Ip: ..0 = [0] MF: more fragments: not set
• Ip: offset = 0
• Ip: ttl = 128 [time to live]
• Ip: type = 6 [next: Transmission Control]
• Ip: checksum = 0x0 (0) [incorrect: 0x4EA0]
• Ip: source = 192.168.219.5
• Ip: destination = 116.34.135.120
• Ip:
• Tcp: ******* Tcp offset=34 (0x22) length=32 중략….