메아리 저널

강의평가 안 하고 성적 알아 내기

내가 다니는 학교에는 강의 평가를 안 하면 성적을 안 보여 주는 아주 환장할 제도가 있다. (아마 이런 학교가 꽤 있을 것이다.) 강의 평가를 강제로 하여 어떻게든 학생들의 반응을 얻어 보려는 의도인데, 이런 의도 자체가 그다지 효과적이지 않을 뿐만 아니라 강의 평가 기간이 언제인지 잘 모르는 사람들도 태반이라서 날짜를 놓치면 어쩔 수 없이 성적을 볼 수 없는 경우도 생긴다. 날짜를 자꾸 자꾸 상기시켜줘야 이런 일이 줄어 들텐데 이번에도 포탈 보니까 상당한 수(?)의 사람들이 강의평가를 까먹고 못 하는 사태를 겪었던 모양이다. -,.-

뭐 사실 나도 날짜를 헷갈려서 강의 평가를 못 했지만, 다행히도 CAIS 시스템이 그다지 잘 만들어졌다고 할 수 없기 때문에 어떻게든 성적을 알아 낼 수 있었다. 이 글에서는 이 방법에 대해서 대략적으로 설명하겠다. (사실 대단한 것도 아니다만) 이 글을 보시는 관계자 여러분께서는 제발 CAIS에 신경 좀 쓰시고 강의 평가 같은 건 확실히 알려서 이런 불상사가 일어 나지 않도록 하시랍.


일단 적절한 패킷 스니핑 툴을 구한다. 아는 친구는 SmartSniff라는 프로그램을 썼는데 나는 이걸 써 본 바가 없으므로 내가 유일하게 써 본 Ethereal을 기준으로 설명하겠다.

성적이 강의라고 뜨면서 안 나오는 화면

일단 이 화면이 나오는 것까지는 확인을 해 봐야 한다. 이 화면이 일단 뜨면, 왼쪽 사이드바에서 다른 것들을 잠시 선택한 다음에 Ethereal을 켠다. 툴바에 나오는 첫 번째 아이콘이 패킷 갈무리를 하는 것이니 클릭해 본다.

인터페이스를 선택하는 화면

네트워크 인터페이스의 목록과 IP 등이 나올 것이다. IP가 좀 정상적으로 나오는 듯한 것을 골라서 그 줄의 Capture 버튼을 누르면 갈무리가 진행될 것이다. IP를 봐도 이게 뭔지 모르겠다 싶다면, CAIS의 왼쪽 사이드바에서 아무 거나 적절히 눌러 보면서 Packes 숫자가 올라 가는 것을 선택하면 되겠다.

갈무리가 진행되는 화면

이제 갈무리가 시작되었다. 패킷들의 상태가 열심히 화면에 뜨는데 만약 인터넷에 연결된 컴퓨터라면 아무 일도 안 해도 패킷 숫자가 조금씩 올라 가긴 할 것이니 숫자가 계속 올라간다고 해서 겁;;먹을 필요는 없다. 아무튼 이 상태에서 CAIS의 성적 게시를 눌러서 옆에 성적 게시가 뜨는 걸 확인한 뒤 상태창에서 Stop을 누른다. (다시 말하지만 이미 성적 게시 창이 떠 있으면 안 되고, 다른 창을 띄웠다가 다시 성적 게시 창을 띄워야 한다. 내부 구조가 매 번 새로 데이터를 읽어 오는 형식이라서...)

알록달록한 패킷 목록

패킷들이 마구 뜰 것이다. -_-; 처음 설치해도 알록달록하게 나오는 지는 모르겠는데, 아무튼 수많은 패킷들과 씨름하지 않으려면 최대한 빨리 성적 게시 창을 띄우고 갈무리를 끝내는 게 좋겠다. 이 상태에서 우리가 원하는 패킷만을 골라 내기 위해서 위의 Format에 tds라고 입력한다. (기술적인 설명: TDS는 Sybase에서 사용하는 원격 질의 프로토콜이다. 진짜 프로토콜이 궁금하시다면 스펙을 보시라.) 배경이 초록색으로 변하면 제대로 입력한 것이니 엔터를 쳐 본다.

필터링된 패킷 목록

이제 이 패킷들을 하나 하나 선택해 보면서 아랫쪽 창(그러니까, 맨 아래에 패킷이 날로 나오는...)에 뭔가 식별할 수 있는 내용이 있는 지 확인해 본다. 과목들의 영어 이름이 나오는 패킷이 있다면 제대로 찾은 게 맞다. 아래는 실제 패킷에서 적절히 색깔을 입혀서 보기 좋게 만든 것이며, 실제로는 조금씩 다를 수 있지만 비슷한 방법으로 찾아 낼 수 있다.

패킷의 구조
회색이 (아마도) 각 과목을 구별하는 구분자 (D1 D6), 초록색은 과목 번호, 갈색은 과목 이름(한글의 경우 점으로 표시된다), 파란색은 실제 성적이다. 성적은 항상 두 글자이며 공백으로 채워져 있고, 성적 바로 앞에 있는 N은 재수강 여부이기 때문에 확인하기 쉽다.

따라서 위의 예시에서는 알고리즘은 I(-_-;), 심볼릭 프로그래밍은 B+, 시스템 프로그래밍은 아직 성적이 안 떴다(공백으로 되어 있음)는 것을 알 수 있다.

이 글은 본래 http://tokigun.net/blog/entry.php?blogid=131에 썼던 것을 옮겨 온 것입니다.


(rev 553c824afb91)