본문 바로가기

2010/037

RAW 소켓을 하면서...[ ping 프로그램 ( icmp 프로토콜) ] 이책 저책을 보고보고... [TCP/IP 소켓 프로그래밍 : 한빛] RAW 소켓 : 스위스 만능 칼 RAW를 사전에서 찾아보면 ‘생’, ‘날’ 이라는 뜻이 있다. 풀어서 쓰자면 가공하지 않은 정도로 보면 될 것이다. 따라서 말 그대로 RAW 소켓은 ‘가공하지 않은 소켓’이다. 일반적인 소켓 함수는 네트워크를 통해서 데이터를 주고 받을 때 헤더 정보를 붙이거나 헤더 정보를 떼어내는 등의 가공을 한다. 일반적으로 주고받는 데이터가 중요하지, 헤더 정보는 별로 중요하지 않기 때문이다. 최종적으로 응용계층에 전달되는 데이터는 사용자 데이터라는 이다. 헤더를 떼고 붙이고 하는 부분은 운영체제의 프로토콜 스택 내에서 자동으로 일어난다. 따라서 프로그래머는 헤더를 직접 절할 기회가 없게 된다. 그렇지만 경우에 따라서.. 2010. 3. 29.
sendto() sendto() : UDP 기반의 데이터 전송 함수 UDP 소켓은 연결 상태를 유지 하지 않으므로 (소켓은 단순히 우체통의 역활만 하므로), 데이터를 전송하는 함수 호출 시 반드시 보내고자 하는 곳의 주소 정보를 포함해야 한다. 여기 주소 정보를 포함 #include #include int sendto(int sock, const void *msg, int len, unsigned flags, const struct sockaddr * addr, int addrlen) 성공시 전송된 바이트수 , 실패시 -1 리턴 * - 옵션 설명 - * sock : 데이터를 전송할 때 사용할 소켓의 파일 디스크립터를 인자로 넘겨 준다. 데이터를 네트워크로 전송하기 위해서는 기본적으로 소켓이 필요하다. 이러한 목적으로 사.. 2010. 3. 28.
SOCKADDR_IN 구조체 * struct sockaddr_in : IPv4의 주소 체계를 나타내는 구조체 struct sockaddr_in { short sin_family; //주소 체계(address family) unsigned short sin_port; // 16비트 TCP/UDP Port struct in_addr sin_addr; // 32비트 IPv4주소 char sin_zero[8]; // 사용되지 않음 }; sin_family : 프로토콜 체계마다 주소 체계가 다르다. sin_family 변수에는 사용되는 주소 체계에 대한 정보를 대입해 준다. 표현될 수 있는 주소 체계 정보는 밑에 표와 같다. 주소체계(Address Family) 정의 AF_INET IPv4 인터넷 프로토콜 AF_INET6 IP_6 인터넷 프.. 2010. 3. 28.
[한자]특수기호 ㄱ ! ' , .  ̄ : ; ‥ … ¨ 〃 ­ ― ∥ \ ∼ ´ ~ ˇ ˘ ˝ ˚ ˙ ¸ ˛ ¡ ¿ ː ㄴ " ( ) [ ] { } ‘ ’ “ ” 〔 〕 〈 〉 《 》 「 」 『 』 【 】 ㄷ + - < = > ± × ÷ ≠ ≤ ≥ ∞ ∴ ♂ ♀ ∠ ⊥ ⌒ ∂ ∇ ≡ ≒ ≪ ≫ √ ∽ ∝ ∵ ∫ ∬ ∈ ∋ ⊆ ⊇ ⊂ ⊃ ∪ ∩ ∧ ∨ ¬ ⇒ ⇔ ∀ ∃ ∮ ∑ ∏ ㄹ $ % ₩ F ′ ″ ℃ Å ¢ £ ¥ ¤ ℉ ‰ ?? ㎕ ㎖ ㎗ ℓ ㎘ ㏄ ㎣ ㎤ ㎥ ㎦ ㎙ ㎚ ㎛ ㎜ ㎝ ㎞ ㎟ ㎠ ㎡ ㎙ ㏊ ㎍ ㎎ ㎏ ㏏ ㎈ ㎉ ㏈ ㎧ ㎨ ㎰ ㎱ ㎲ ㎳ ㎴ ㎵ ㎶ ㎷ ㎸ ㎹ ㎀ ㎁ ㎂ ㎃ ㎄ ㎺ ㎻ ㎼ ㎽ ㎾ ㎿ ㎐ ㎑ ㎒ ㎓ ㎔ Ω ㏀ ㏁ ㎊ ㎋ ㎌ ㏖ ㏅ ㎭ ㎮ ㎯ ㏛ ㎩ ㎪ ㎫ ㎬ ㏝ ㏐ ㏓ ㏃ ㏉ ㏜ ㏆ ㅁ #.. 2010. 3. 28.