본문으로 바로가기

이더넷 소켓 프로그래밍

category SECURITY/Network 2017. 4. 28. 21:53

 

   이더넷 소켓 프로그래밍

 

   2계층 Protocol

- PDU : Packet

- Tunneling( GRE, L2TP, PPTP, ...)

- ARP (Address Resolution Protocol )

- 주소체계 : MAC Address( H/W Address )

 

이더넷 헤더(Ethernet Header) : 14바이트 고정크기

1) 도착지 맥주소 (6바이트)

2) 출발지 맥주소 (6바이트)

3) 이더넷 타입 (2바이트) : IPv4, IPv6, ARP, ...

   0x0800 : IPv4   0x86DD : IPv6

   0x806 : ARP

   더 많은 이더넷 타입 참고 :  https://en.wikipedia.org/wiki/EtherType

 

[ sniffer 소스코드 ]

[ sniffer 결과창 ]

sniffer 결과창에 data에는 이더넷 해더와, IP헤더, TCP나 UDP헤더가 캡슐화되어 나타나있습니다.

그 중에서 맨 앞에 14바이트가 이더넷 헤더입니다.

\x00\x0c)\xd7\xa6     \x9a\xe0\x94gPQ\xcc     \x08\x00
출발지 MAC 주소           도착지 MAC 주소             이더넷 타입

[ vi mypacket.py ]

[ sniffer.py ]

[ sniffer 결과창 ]

 

'SECURITY > Network' 카테고리의 다른 글

ARP 공격  (0) 2017.05.04
ARP 소켓 프로그래밍  (0) 2017.05.01
IP 로우 소켓 프로그래밍  (0) 2017.04.27
리눅스 네트워크 설정  (1) 2017.04.27
TCP 로우 소켓 프로그래밍  (0) 2017.04.26