이메일을 적으시면 보안관련 소식을 받을수 있습니다.
이메일:






작성자: 미남닷컴
편집자: 엔시스 (sis@sis.pe.kr)

 

지금 포스팅 부터는 영어로도 쓰도록 하겠습니다.

보고 싶어하는 사람이 있네요 ^^:

부족한 영작실력, 틀렸다면 꼬집어주세요~ 조용히 -_-;

 

IRC (Internet Relay Chat) 영문 위키피디아에 따르면 "실시간 인터넷 텍스트 메시징 또는 동시 회의" 라고 설명되어 있습니다.


By Wikipedia,
Internet Relay Chat (IRC) is a form of real-time Internet text messaging (chat) or synchronous conferencing.


텀즈에
의하면 "일련의 규칙과 약속이 관련되어 있는 채팅 시스템으로 클라이언트와 서버 구조의 소프트웨어이다." 라고 설명 되어 있습니다.


By Terms, Having CS structure software, IRC is a chat system which have a series of rule and be conneted promise.

 

클라이언트, 개인이 IRC 이용할 있는 프로그램을 사용하여 IRC 서버에 접속하여 여러 다른 사람들과 채팅을 하는 것입니다.


Clients(users) chat with other people using IRC program


요즘
채팅이라는 것이 옛날보다는 많이 활성화 되있다고 있습니다. 하지만 일부 여러 사람들이 IRC 이용하고 있습니다.

외국에서는 특히 많이 사용하죠.

 

IRC 프로토콜이 있습니다.

There is a IRC protocol.


바로
RFC 1459번에 정의되어 있지요.

That was defined RFC 1459.

IRC에도 접속하는 포트, 방법, 그리고 이용규칙들 또한 패킷의 구조, 명령어들의 구조 들이 일련의 규칙으로 되어있습니다.

IRC has connection port and use rule and have a structure of packet, orders.


RFC 1459
번에 의하여 정의를 보자면

RFC 1459, The IRC (Internet Relay Chat) protocol has been designed over a number of years for use with text based conferencing.


IRC
프로토콜은 지난 수년동안 텍스트기반의 컨퍼런싱의 사용을 위하여 디자인 되었다고 합니다.

 

IRC 서버가 존재하며 클라이언트는 9자가 넘지 않는 독특한 닉네임을 가집니다.

Each client is distinguished from other clients by a unique nickname having a maximum length of nine (9) characters


클라이언트들은
서버안의 체널에서 활동할 있습니다.

Clients can join channel. In there, clients chat with other people.


서버는
많은 체널들을 가집니다. 체널은 클라이언트가 만들 있으며 서버는 체널의 오퍼레이터를 정하고 여러 옵션을 있습니다.

Server can have many channels. These channels are made by clients and server can make operator and give options.


IRC
서버를 구축할 서버설정에 대한 옵션을 설명하고 클라이언트 소스분석때에는 IRC에서 쓰이는 명령어들이 어떻게 활용되는지 알아보겠습니다.

In Next chapter, I will give you information about these options, and IRC orders.


IRC
프로토콜에 정의 되어있는 명령어들을 간략하게 설명하겠습니다.

Now we will learn IRC character codes.


중요시
것은 접속과정과 대화 부분입니다.

An Important thing is connection code and communication code.


명령어의
사용은 다음 포스팅에서 간단하게 보여드리겠습니다.

At next posing, I will show you example using IRC character codes.

 

 

 

IRC 프로토콜(RFC 1459)

  • 메시지 포맷
      <message>    ::= [':' <prefix> <SPACE> ] <command> <params> <crlf>
      <prefix>     ::= <servername> | <nick> [ '!' <user> ] [ '@' <host> ]
      <command>    ::= <letter> { <letter> } | <number> <number> <number>
      <SPACE>      ::= ' ' { ' ' }
      <params>     ::= <SPACE> [ ':' <trailing> | <middle> <params> ]
      <middle>     ::= <Any *non-empty* sequence of octets not including SPACE or NUL or CR or LF, the first of which may not be ':'>
      <trailing>   ::= <Any, possibly *empty*, sequence of octets not including NUL or CR or LF>
      <crlf>       ::= CR LF
      <target>     ::= <to> [ "," <target> ]
      <to>         ::= <channel> | <user> '@' <servername> | <nick> | <mask>
      <channel>    ::= ('#' | '&') <chstring>
      <servername> ::= <host>
      <host>       ::= see RFC 952 [DNS:4] for details on allowed hostnames
      <nick>       ::= <letter> { <letter> | <number> | <special> }
      <mask>       ::= ('#' | '$') <chstring>
      <chstring>   ::= <any 8bit code except SPACE, BELL, NUL, CR, LF and comma (',')>
      <user>       ::= <nonwhite> { <nonwhite> }
      <letter>     ::= 'a' ... 'z' | 'A' ... 'Z'
      <number>     ::= '0' ... '9'
      <special>    ::= '-' | '[' | ']' | '\' | '`' | '^' | '{' | '}'
      <nonwhite>   ::= <any 8bit code except SPACE (0x20), NUL (0x0), CR(0xd), and LF (0xa)>
     
  • 접속 과정
      • PING <msg>
        • PONG <msg> 로 보내주면 된다
    • 로그인
      • USER <name> <host> <user> :<Real Name>
        • name : 접속하는 사용자의 이름(사용자 정보에서 이메일 형식으로 나옴)
        • host, user : 호스트와 유저 이름이지만 실제 영향력은 없는듯..
        • Real Name : 사용자 정보에서 나오는 이름
      • NICK <nick>
        • nick : 실제 대화명(닉네임)
    • 보통 위의 과정을 거치면 환영 메시지가 나옴
  • 대화
    • PRIVMSG <nick|channel>[,<nick|channel>...] <message>
      • 수신자
        • channel : 채널명
      • message : 대화 내용
    • NOTICE 상동
    • PRIVMSG와 NOTICE의 차이점 확인할것
  • 채널 입장
    • JOIN <channel>
      • 471 ERR_CHANNELISFULL "<channel> :Cannot join channel (+l)"
      • 473 ERR_INVITEONLYCHAN "<channel> :Cannot join channel (+i)"
      • 474 ERR_BANNEDFROMCHAN "<channel> :Cannot join channel (+b)"
      • 475 ERR_BADCHANNELKEY "<channel> :Cannot join channel (+k)"
      • 465 ERR_YOUREBANNEDCREEP ":You are banned from this server"
      • 464 ERR_PASSWDMISMATCH ":Password incorrect"
  • 채널 퇴장
    • PART <channel>
  • 채널 관리(채널 오퍼레이터용)
    • MODE <channel> <mode> <nick|params>
      • params : 파라메터
      • (+|-)mode
        • o : 채널의 오퍼레이터 권한을 주거나 뺏는다
        • p : 비공개채널
        • s : 비밀채널
        • i : 초대만 가능한 채널
        • m : 제한된 채널
        • t : 오퍼레이터만 방제를 바꿀수있게한다
        • n : 밖에서 온 클라이언트의 메세지는 채널에 전달되지않는다
        • l : 채널에 들어올수있는 사용자의 수를 제한한다
        • b : 사용자를 계속 내보낼수있게 금지하는마스크
        • v : 제한된 채널에서 말할수있는 권한을 주거나 뺐는다
        • k : 채널에 비밀번호를 지정해놓는다
      • 324 RPL_CHANNELMODEIS "<channel> <mode> <mode params>"
      • 482 ERR_CHANOPRIVSNEEDED "<channel> :You're not channel operator"
      • 472 ERR_UNKNOWNMODE "<char> :is unknown mode char to me"
      • 467 ERR_KEYSET "<channel> :Channel key already set"
  • 토픽 변경
    • TOPIC <params>
      • 331 RPL_NOTOPIC "<channel> :No topic is set"
      • 332 RPL_TOPIC "<channel> :<topic>"
  • 목록 얻기
    • NAMES [<channel>[,<channel>]]
      • 채널명과 그 채널의 사용자 목록을 얻음
        • 353 RPL_NAMREPLY "<channel> :[[@|+]<nick> [[@|+]<nick> [...]]]"
        • 366 RPL_ENDOFNAMES "<channel> :End of /NAMES list"
    • LIST [<channel>[,<channel>]]
      • 채널명과 토픽명을 얻음
        • 비공개 채널일 경우 토픽명을 얻을수 없음
        • 비밀 채널일 경우 목록에 추가되지 않음
          • 321 RPL_LISTSTART "Channel :Users Name"
          • 322 RPL_LIST "<channel> <# visible> :<topic>"
          • 323 RPL_LISTEND ":End of /LIST"
  • 접속 종료
    • QUIT [message]
      • message : 종료시 표시될 메시지

 

출처 : http://blog.naearu.com/2982970

 

 

 

IRC 사용하시고 계신다면 아시리라 보고요 앞으로 사용해보겠다 하시면 명령어들을 참조하시면 되겠습니다.

If you used IRC, you would understand this. But you don't use IRC, you can refer to this code.

다음 포스팅에서 가지 써보도록 하지요.

 

 

IRC 무엇인지 이제 아시겠지요?

Do you understand IRC now?


IRC 이용하여 봇넷을 구성하고 체널의 장은 봇들에게 명령을 내립니다.

IRC BOTNET C&C(command and control) server orders bots using IRC.


그럼
다음 포스팅으로 넘어가겠습니다.

To Be continued.

 

다음 포스팅에서는 직접 IRC 사용하여 채팅을 즐겨보아요~

Next, we will enjoy IRC.


---------------------------------------------------------------------------------------------------
글에 오류가 있거나 수정이 필요하다고 생각 하시면 메일을 보내주세요.
If there are errors or need to be edited, send e-mail.
미남닷컴 (minamdotcom)
kimms@boanin.com
---------------------------------------------------------------------------------------------------


****************************************************************************************************

본 포스팅의 저작권은 보안인닷컴과 작성자에 있으며 상업적 이용을 배제하며 콘텐츠 이용시에는 반드시 출처와 링크를 이용해 주시기 바랍니다. 무단도용은 저작권법에 저촉을 받습니다..

****************************************************************************************************

Posted by 알 수 없는 사용자
,