글을 시작하기에 앞서...

netwhat 과제 수행에 걸리는 시간은 최소 1주 이상입니다. 

 

1주 동안 netwhat 관련 개념들을 공부해야 무난히 과제에 통과할 수 있다는 뜻인데요.

 

그런데 제가 쓴 이번 글만 보고 "진짜" 15분만에 통과를 하시는 분들이 몇몇 계시는 것 같습니다.

 

그래서 해당 포스트의 제목을 바꾸고, 이 글을 보시는 분들께 이 글이 여러분의 치팅을 위한 글이 아니라는 점을 밝히고 싶습니다.

 

최소한 필수적인 개념들을 이해하시고, 시험에 나올 만한 것들을 충분히 암기하신 후에 netwhat 과제 subscribe to defense 하시기 바랍니다.

 

TCP가 UDP보다 왜 느린지 설명하지 못한다거나 netwhat의 주소 관련 문제가 무슨 뜻인지도 모르는 상태에서 평가를 받는 일은 없었으면 좋겠습니다. 어차피 netwhat에 나오는 개념들은 IT 업계 종사할 사람이라면 상식으로 알고 있어야 할 개념들이니까요 :) 

 

잔소리로 글을 시작하게 됐네요.

 

아무튼 newhat을 열심히 공부하신 여러분들 모두 netwhat 시험 리트라이 없이 통과하는 데에 이 글이 도움이 되길 바라면서

 

글, 시작하겠습니다.

 

🔎 Netwhat 시험을 통과해보자.

깃헙 : https://github.com/ChoiKanghun/netwhat

🔎 준비물

 

  1. ipv4 ipv6는 몇 비트를 쓰는지 등에 대한 netwhat 필수개념들을 공부한다.
  2. netwhat 전용 계산기를 만든 minckim 님의 프로그램을 켠다.
  • 켜는 방법 :
    • 레포 안에 있는 netwhat_calculator.c 를 실행한다. (gcc netwhat_calculator.c)
    • 생성된 .out 파일을 실행한다.
  1. 다음 velog 창을 띄워 놓는다. (daelee님의 블로그 !)

    : https://velog.io/@hidaehyunlee/Netwhat-%EC%97%B0%EC%8A%B5%EB%AC%B8%EC%A0%9C-%EC%A0%95%EB%A6%AC

  2. google에다가 `private address`를 검색한 결과창 띄워놓기.



시험 시작. 🔎


제한 시간은 10분이다.

띄워둔 창들의 도움을 받으면 10분은 넉넉하게 느껴질 것이다. (본인은 7분 걸림)

시험은 netwhat 프로젝트 등록 후 netwhat.42.fr 에 접속하여 시작한다.

 

시험은 크게 두 파트로 나뉜다.

  1. 주소를 구하는 문제(체감상 3 / 4를 차지하는 문제)

  2. 개념을 묻는 문제.

 

여기에 대해 1번은 우리가 실행시킨 .out 파일을 이용해 모두 풀 수 있고,

2번은 띄워둔 velog와 google로 해결가능하다.

 

PART 1

주소를 구하는 문제도 여러 가지 유형이 있는데, 크게 3 가지가 있다.



먼저 네트워크 및 브로드캐스트 주소를 구하는 문제이다.

What is the network address of 로 시작하며 전체 문제 예제는

What is the network address of a host with an IP address of 182.161.121.118/24?

이런 식이다.

여기서 182.161.121.118/24 이것만 긁어서 우리가 실행시켜둔 .out 에 붙여넣고 엔터를 치면

 

 

위와 같은 화면이 뜬다.

What is the network address of으로 시작하는 이런 유형의 문제의 경우 위 결과에서

network_id 부분을 정답으로 체크하고 넘어가면 된다.



다음으로 호스트 주소 수를 구하는 문제다.

 

What is the maximum number of IP addresses that can be assigned to hosts

 

로 시작하며 전체 예제 문장은 이렇다.

 

What is the maximum number of IP addresses that can be assigned to hosts on a local subnet using the 255.255.255.128 subnet mask?

 

혹은 how many hosts 가 문장 중간에 들어간 경우도 같은 유형이다.

 

이 경우에는 복사 붙여넣기를 두 번 해야 한다. 이 유형의 경우만 그렇다. 

 

실행시킨 .out 파일에서

type option255.255.255.128:255.255.255.128를 복사해 붙여넣는다. 

(cmd + v : cmd + v와 같다.)

 

그러면 아래와 같은 결과가 나오는데, 

 


위에서 num_of_host가 정답이 된다.



세 번째 유형은 호스트 주소의 '범위'를 구하는 유형이다.

 

키워드는 valid host range이 문장 중간에 나오는 것이다.

주로 다음과 같이 출제된다.

 

Which of the following proposals is the valid host range for the subnet on which the IP address 1.93.149.6/17 resides?

 

이 경우 1.93.149.6/17 이 부분을 복사해 .out 프로그램에 붙여 넣으면

 

 

위와 같은 화면이 뜬다.

위 화면에서 host_range라고 되어 있는 곳이 실제 범위가 된다.

 

  • 참고로 Which of the following IP addresses is a private address? 와 같이 생긴 문제가 나온다면 google에다가 private address를 치면 나오는 그 범위 안에 있는 보기를 정답으로 체크하고 넘기면 된다.

  • 혹은 우리가 실행시켜놓은 프로그램에서 p를 입력하고 엔터를 친 뒤

 

 

위와 같이 생긴 보기 전체를 긁어 붙여넣으면

 

 

위와 같이 뜬다. 당연히 정답은 yes가 적힌 부분.

(개인적으로 이거 구현한거 보고 굉장히 놀랐다.)

 

빠져나오는 건 q를 입력하고 엔터.




PART 2

나머지 부분에 대해서는 개념들 (특히 UDP/TCP)에 관한 문제다.

그런데 netwhat 문제들이 몇 해 째 바뀌질 않아서 단순히 문제 일부를(혹은 전체를) 긁어서 구글에다가 치기만 해도 정답이 나온다.

 

개념들에 대해 모르는 것이 있을 때에는 문제의 키워드가 된다 싶은 부분을 복사해서

띄워놓은 velog에서 cmd + f 로 찾아보고 결과가 없으면 google에다가 그대로 긁어 검색하자.

내 경우 커버되지 않은 문제는 없었다.



🔎 시험 끝!

여기까지 따라왔다면 시험을 무난히 치렀을 것이다.

결과창에 뜨는 코드를 복사하고, answer.txt 라는 이름의 파일을 만들어 그 안에 붙여넣는다.

그리고 그 파일을 git repo에 넣고 해당 파일 제출하면 끝!

 

여기까지 따라하느라 모두 수고 많으셨습니다 :)

도움이 되셨다면 아래 레포에 star 한번만 눌러주세요! 

github.com/ChoiKanghun/netwhat

그리고 저 말고 minckim님을 만난다면 netwhat 과제 수행에 도움이 많이 됐다고 말씀해주세요 ;)

  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기
// custom