|
|
|
 |
데이터 통신 - Packet Sniffer의 구현 |
 |
|
|
|
|
 |
|
 |
 |
| 키워드 : |
|
|
| 소개글 |
데이터 통신 - Packet Sniffer의 구현 |
| 요약 |
<데이터 통신 과제>
Packet Sniffer의 구현
1.소스코드분석 이 프로그램은 로소켓을 이용한 스니퍼 프로그램 이다. 로소켓의 “네트워크 계층으로 전송되는 모든 패킷을 볼 수 있는” 특성을 이용해 TCP 프로토콜의 패킷을 읽은 프로그램이다. 아래 소스에는 TCP 패킷만 읽는 것이므로 IP 헤더와 TCP 헤더만을 출력 했지만, ICMP, IGMP, UDP 패킷 등등도 출력할 수 있다. 또한 packet.h 의 헤더파일을 고침으로써 IP Header와 TCP header의 기본 값들을 바꿀 수 있다. 예를 들면 IP header의 version이나 헤더길이 등을 사용자가 임의대로 바꿀 수 있다. project1.c #include #include #include #include #include #include #include #include #include #include #include "packet.h"
int main() { int sock, ret, len; char buffer[65535], *data; struct sockaddr_in from; struct in_addr src, dst; struct ifreq ifr; char *interface = "eth0"; struct ip_header_t *ip = (struct ip_header_t *)&buffer;//ip header 선언 struct tcp_header_t *tcp;//tcp header 선언
sock = socket(PF_INET, SOCK_RAW, IPPROTO_TCP); //로소켓 생성( PF_INET:인터넷 프로토콜 , SOCK_RAW 는 로소켓을 만들겠다는 의미!,IPPROTO_T |
 |
|
|
 |
|

위 정보및 게시물 내용의 진실성에 대하여 보증하지 아니하며, 해당 정보 및 게시물 저작권과 기타 법적 책임은 자료 등록자에게 있습니다. 위 정보및 게시물 내용의 불법적 이용, 무단전재및 배포는 금지되어 있습니다. 저작권침해, 명예훼손 등 분쟁요소 발견시 하단의 저작권 침해신고를 이용해 주시기 바랍니다. |
|