【Ubuntu】키보드의 로그를 취득한다

키보드 로거



자신이 친 키보드의 로그를 갖고 싶을 때가 있지요(없는가).
그럴 때 추천하는 것이 "logkeys"입니다.

1 설치



설치는 간단하고, 다음의 1행으로 들어갑니다.
sudo apt-get install logkeys

2 사용하기 위한 설정



설치는 간단하지만 사용하기에는 여러 가지 설정이 필요합니다.

2.1 키보드 이벤트 정보 얻기



다음 명령을 입력하면 터미널에 입력 장치의 설정 목록이 표시됩니다.
cat /proc/bus/input/devices

표시되는 설정 일람입니다(매우 길기 때문에 키보드 부분만 게재).
I: Bus=0003 Vendor=04d9 Product=1818 Version=0110
N: Name="USB Keyboard"
P: Phys=usb-0000:00:14.0-12/input1
S: Sysfs=/devices/pci0000:00/0000:00:14.0/usb1/1-12/1-12:1.1/0003:$4D9:1818.0006/input/input8
U: Uniq=
H: Handlers=kbd event8 
B: PROP=0
B: EV=13
B: KEY=300a010802000 0 0 1078002044000 603878d801d6e9 1e0000000000$0 0
B: MSC=10

위의 설정에 필요한 것은 Handlers=kbd event8 의 이벤트 번호입니다.

2.2 키보드 맵 설치



다음에, 사용하고 있는 키보드가 일본어 대응의 키보드인가, 영자 키보드인가
키보드 맵 정보를 취득할 필요가 있으므로, 키 도드 맵의 인스톨을 합니다.
 sudo apt-get install console-data

그러면 아래의 설정 화면이 일어나므로 설정을 합니다.



확인을 선택합니다.



'전체 목록에서 키맵 선택'



일본어 키보드를 사용하는 경우 위의 설정을 선택합니다.

만약, 설치시에, 설정을 취소해 버리거나, 설정을 잘못했을 경우는, 이하의 커멘드로 같은 설정을 할 수 있습니다
sudo dpkg-reconfigure console-data

3 키로거 사용



지금까지의 설정으로 키로거를 기동할 수 있게 됩니다.
여기에서는 사용법을 써 갑니다.

3.1 키 로거 시작



다음 명령으로 시작합니다.
sudo logkeys -s -o ~/logtest.txt -d /dev/input/event8
  • -s 시작
  • -o 로그 데이터 출력 파일
  • -d 입력 장치 정보

  • 입력 디바이스의 정보에는, 상기의 cat /proc/bus/input/devices 로 조사한 이벤트 번호를 넣어 주세요.
    기동한 후에는, 입력한 커멘드등이 로그 파일에 계속 출력됩니다.

    3.2 키로거 종료



    다음 명령으로 키 로거를 중지할 수 있습니다.
    sudo logkeys -k
    

    3.3 로그 확인



    로그의 확인은 sudo 권한으로 밖에 확인할 수 없기 때문에, sudo 로 텍스트 에디터를 기동합니다.
    sudo vi logtest.txt 
    

    텍스트 파일의 내용은 다음과 같습니다.
    Logging started ...
    
    2017-08-20 22:29:51+0900 > sudo apt-get update
    2017-08-20 22:30:07+0900 > sudo log<Tab>k<Tab>-k
    2017-08-20 22:30:21+0900 > 
    
    Logging stopped at 2017-08-20 22:30:21+0900
    

    이상입니다.

    참고 사이트



    [1] 콘솔에서 키보드 설정
    [2] 우분투에 키맵 설치

    좋은 웹페이지 즐겨찾기