과거의 경험을 비추어 생각해보건데, 한 사이트의 보안에 취약한 페이지는 로그인페이지보다는 ID와 비밀번호 찾기였었다. 그 이유는 로그인에 대해서는 신경써서 여러가지로 테스트 해보면서 만들지만, 그것보다 중요하지 않다고 생각하는 페이지는 고민을 많이 하지 않고, 원래 의도하던 기능만 충실히 만들기 때문에 취약점이 많은 것이 사실이었다.


사이트를 만들때 생각하는 시간에 대해 생각해 보건데, 요즘엔 모바일 페이지와 PC 버전이 만들어지는 상황에서, PC 버전은 당연히 만들어야하나 만들고, 모바일 페이지에서는 PC 버전으로 확인하라는 메시지로 대치하는 경우가 있다. 모바일로 구현하자니 시간이 들어가고, 사용성도 높지 않은 상황이라면, 쉽게 그냥 PC 버전으로 유도하는 팝업만 보이라고 작업지시가 내려지기 마련이다.


보안문제라면 사이트 제작자에게 피해가 가겠지만, 모바일 버전-PC버전 문제는 사용자에게 돌아간다. 사실 모바일 페이지를 만드는 이유는 PC 화면처럼 넓게 쓰지 못하는 상황을 작은 화면에 최적화시키도록 만드는 것이다.  PC 버전을 만들때, 모바일 화면으로 보지 않는 것이 아니다. 정말 한 번도 안본 페이지를 만날때는 정말 당황스럽다. 내가 YES24에 1년간 로그인하지 않았나보다. 모바일로 확인하다가 PC 버전으로 로그인하면 1년 넘지 않아 잠긴 내 계정을 해제시켜주겠다하여 PC 버전을 모바일로 봤다. 그러나 나에게 돌아온 것은 누를 수없이 뭉게진 로그인 다이얼로그였다.


YES24 왜 그러세요. 이 페이지 이번만 쓰고 말 것인가요?


라즈베리파이에 로지텍 블루투스 키보드를 연결하여 쓰던차 "|" (pipe)가 입력되지 않고 "#"이 입력되는 문제는.


$ sudo apt-get install console-data

$ sudo loadkeys us


로 해결한다.


간혹 공개된 Wifi를 제공하면서 간단한 인증을 하는 사업장이 있다. 간단한 인증이란 웹페이지가 하나 떠서 광고를 본다거나 사용자 정보를 넣어야하는 경우인데, 다른 PC에서는 되지만 내 노트북만 되지 않는 경우가 있다.


이 때 의심해 봐야할 것은 혹시 구글 DNS 같은 것을 특별히 지정해서 사용하지 않나 점검해봐야한다.


아무 DNS 서버도 지정하지 않으면 Wifi 가 제공하는 DNS를 사용하게 되는데, 이렇게 구성되어야하는 이유는 인증받지 않은 장비에 대해서는 네이버를 들어가든, 다음을 들어가든 최초 모든 인터넷 주소를 인증서버 IP로 바꾸어 인증부터 하도록 유도하기 때문이다. 그런데 만약 DNS를 직접 지정하여 사용하는 경우, 삽질이 시작된다.



터미널 관련해서 오류가 나면, 가끔 비번을 입력하다가 Ctrl+C 등을 누르면 화면에 아무것도 안나오는 상황이 발생할 때가 있다. 이런 경우는 


stty echo


라는 명령을 실행하면 된다. 화면에 echo가 꺼져있기 때문에 나오는 상황이다.


그리고, 또 가끔 어떤 명령을 실행하다가 잘못된경우 줄 바꿈이 화면 왼쪽으로 가지 않고, 바로 아래로 나오는 경우가 있다.


$ cat test.txt

I am a boy
          You are a girl

이런 경우는 출력시(o) New Line(nl) 이 Carrage Return(cr)으로 변환되지 않아서 생기는 경우인데,

stty onlcr

라는 명령을 실행하면된다.

nl, cr 변환에 대해서는 입력(i), 출력(o)에 대해서 해당 변환을 켜고 끄는데 다음과 같은 조합이 있다.

ocrnl, ocrnl, icrnl, inlcr


stty -a 명령으로 확인 해 보자.

  1. june8th 2015.09.23 03:42 신고

    이 팁 완전 유용함. 십점 만점에 십점.

  2. june8th 2015.09.23 03:43 신고

    근데 크롬브라우저에서 댓글 달라하면 빈 팝업뜨고 안되는거 알아요?

Custom firmware upgrade 실패하다.

벽돌을 만들어 버렸다.

왜 했을까.

사무실에서도 OpenWRT 기반 u-boot 잘못건드려서 벽돌만들었는데, 집에서 굴러다니던 Buffalo 장비하나를 또 말아 먹었다.

ctags -R


웬만하면 걍 grep으로 살아 왔던 시절을 뒤로하고 ctags 실행해보다. 10년쯤 된 거 같으다. "-R" 옵션이 기억 안나서 맨 페이지 찾아본 것은 비밀.

반복되는 패턴이 있다면 그것을 어떻게 인식할까? 이 패턴과 저 패턴이 다르다는 것은 어떻게 인식할까?


말뭉치를 넣어 주었을 때, 여하한의 문법에 관한 사전 정보 없이 최소의 가이드만으로 반복되는 패턴을 알아 낼 수 있을까? 다른 말로하자면, 각 글자들의 집합에 해당하는 형태에서 형태소를 찾아 내고 형태소의 나열에서 문법을 찾아 낼 수 있을까하는 질문이다. 이것은 문법의 형태론과 통사론에 해당하는 기초적인 접근인데, 문법을 모른다고 할 때 최소의 가이드는 무엇일까?라는 질문과 연결되어 있고, 모든 언어에서 발견될 수 있는 보편 문법적인 가이드 정도만으로 개별언어의 문법을 구축하고 싶은 가능성을 보고 싶은 것이다.


여기서 말하는 언어란 문자로 씌어진 언어만을 의미하며, 발화되는 음성언어의 힌트를 받는 것은 수작업에 해당하는 것이라 하겠다. 예를 들어 'ㅏ'와 'ㅐ'는 연관 없는 문자 코드지만, 발화상 변모음화 되는 관계라는 것은 힌트로 주어 질 수 있다는 것이다. 마찬가지로 띄어쓰기도 그러하다. 띄어쓰기를 자주 틀리게 표현하는 언어나 띄어쓰지 않아도 되는 언어도 있을 때 띄어쓰기를 엄격한 규칙이 아닌 힌트로 봐야한다.


생각에 대한 정리는 여기까지.

$ more tunnel.sh 

#!/bin/sh


exec ssh -f pynoos@mypriv.example.com -o "ServerAliveInterval=300" -R20000:localhost:22 sleep 3600000

mypriv.example.com 서버를 가지고 있고, 저 명령을 실행하는 장비는 파이어월 내부에 있을 때, 20000번 포트로 ssh를 포트포워딩하는 방법.

-f 는 명령을 실행하는 세션이 끊기더라도 백그라운드로 돌아가도록 설정하기 위함이고, ServerAliveInterval은 많은 방화벽 장비가 조용한 네트웍은 잘라버리므로 살아 있음을 알리기 위함이다.


늘 그렇지만, 이런 짧은 명령을 블로깅하는 것은 나중에 복/붙하기 위함이다. 구글로 검색해서 결과창에서 바로랄까.

글로벌 서비스하다보니, 나라 이름이 길어서 ISO Country Code (ISO 3166)로만 보였더니 몇몇 추정안되는 이름들을 보았다.


MO

CL

KH

AR

PK


순서대로.. 마카오, 칠레, 캄보디아, 아르헨티나, 파키스탄이다.

DTrace 기반 시스템 모니터링 툴 중에 이런 것들을 써보는 것이 좋다.


$ sudo iosnoop

$ sudo opensnoop


이 둘만 잘 실행해 놓고 올라가는 로그들만 보더라도 어떤 프로세스가 시스템을 힘들게 하는지 알 수 있고, 잘 족쳐보자.

내 경우, 구글 드라이브에서 문제가 있었는데, Readonly로 공유받은 파일들을 뭔가 싱크문제가 있었는지 계속 뒤지는 모양이 보여서 그냥 냅다 종료시키는 걸로 끝냈다. 문제를 더 파악하기에는 시간이 들어 갈 것 같아서 그냥 잊고 지내는 걸로.


  1. 야호맨 2016.09.07 17:32 신고

    안녕하세요. 제가 회사에서 맥을 사용하는데..
    포토샵이 너무 느려서 서치를 해보니 opensnoop 로 뭘 보라는 외국 포럼으로
    이 포스팅을 보게 되었는데요.

    알려주신 사항으로 해보니
    어떤 파일들이 싱크가 문제가 있는지.. 확인이 되긴 하는데..

    그다음 스탭이 어떻게 되어야 할지 궁금합니다.
    혹시 아실까요.

    http://cafe.naver.com/inmacbook/1490430

    • Coolen 2016.10.09 10:51 신고

      제가 이 글을 너무늦게 봤는지 모르겠습니다.

      그러나 당시에 봤어도, 마땅한 해결책은 로그를 직접봐야지 알겠네요.

+ Recent posts