커널메시지 출력 printk()
printk() : 커널함수에서 사용되는 출력함수
로그레벨 | 명령어 | 의미 |
---|---|---|
0 | KERN_EMERG | 시스템이 동작하지 않는다. |
1 | KERN_ALERT | 항상 출력된다. |
2 | KERN_CRIT | 치명적인 정보 |
3 | KERN_ERR | 오류 정보 |
4 | KERN_WARNING | 경고 정보 |
5 | KERN_NOTICE | 정상적인 정보 |
6 | KERN_INFO | 시스템 정보 |
7 | KERN_DEBUG | 디버깅 정보 |
#cat /proc/sys/kernel/printk
4 4 1 7
[4] : 현재 로그레벨(이 레벨보다 높은 메시지만 출력)[4] : 기본 로그레벨(printk()함수를 입력하면서 별도로 로그레벨을 입력하지 않을 경우)[1] : 최소 로그레벨(부여할 수 있는 최소 로그레벨)[7] : 부팅시 로그레벨(부팅시 출력될 레벨을 지정)
간단히 모든 커널메시지 덤프를 표시
#cat /var/log/messages
출력되지 않은 메시지도 볼 수 있다.(로그버퍼에 기록된 내용)
dmesg(#cat /proc/kmsg)
tcpdump 사용법
Tcpdump는 주어진 조건식을 만족하는 네트워크 인터페이스를 거치는 패킷들의 헤더들을 출력해주는 프로그램
- 사용법
tcpdump [options] [expression] [host]
- OPTION
-i device : 어느 인터페이스를 경유하는 패킷들을 잡을지 지정한다.
지정되지 않으면 시스템의 인터페이스 리스트를 뒤져서 가장 낮은 번호를 가진 인터페이스를 선택한다(이 때 loopback은 제외된다).-w : 캡춰한 패킷들을 분석해서 출력하는 대신에 그대로 파일에 저장한다.-c number : 제시된 수의 패킷을 받은 후 종료한다.(캡쳐할 개수)-s length: 패킷들로부터 추출하는 샘플을 default값인 68 byte외의 값으로 설정할 때 사용한다
More
-a : Network & Broadcast 주소들을 이름들로 바꾼다.
-d : comile된 packet-matching code를 사람이 읽을 수 있도록 바꾸어 표준 출력으로 출력하고, 종료한다.
-dd : packet-matching code를 C program의 일부로 출력한다.
-ddd : packet-matching code를 숫자로 출력한다.
-e : 출력되는 각각의 행에 대해서 link-level 헤더를 출력한다.
-f : 외부의 internet address를 가급적 심볼로 출력한다(Sun의 yp server와의 사용은 가급적 피하자).
-F file : filter 표현의 입력으로 파일을 받아들인다. 커맨드라인에 주어진 추가의 표현들은 모두 무시된다.
-l : 표준 출력으로 나가는 데이터들을 line buffering한다. 다른 프로그램에서 tcpdump로부터 데이터를 받고자 할 때, 유용하다.
-n : 모든 주소들을 번역하지 않는다(port,host address 등등)
-N : 호스트 이름을 출력할 때, 도메인을 찍지 않는다.
-O : packet-matching code optimizer를 실행하지 않는다. 이 옵션은 optimizer에 있는 버그를 찾을 때나 쓰인다.
-p : 인터페이스를 promiscuous mode로 두지 않는다.
-q : 프로토콜에 대한 정보를 덜 출력한다. 따라서 출력되는 라인이 좀 더 짧아진다.
-r file : 패킷들을 ‘-w’옵션으로 만들어진 파일로 부터 읽어 들인다. 파일에 “-” 가 사용되면 표준 입력을 통해서 받아들인다.
-T type : 조건식에 의해 선택된 패킷들을 명시된 형식으로 표시한다. type에는 다음과 같은 것들이 올 수 있다. rpc(Remote Procedure Call), rtp(Real-Time Applications protocol), rtcp(Real-Time Application control protocal), vat(Visual Audio Tool), wb(distributed White Board)
-S : TCP sequence번호를 상대적인 번호가 아닌 절대적인 번호로 출력한다.
-t : 출력되는 각각의 라인에 시간을 출력하지 않는다.
-tt : 출력되는 각각의 라인에 형식이 없는 시간들을 출력한다.
-v : 좀 더 많은 정보들을 출력한다.
-vv : ‘-v’보다 좀 더 많은 정보들을 출력한다.
-x : 각각의 패킷을 헥사코드로 출력한다.
-d : comile된 packet-matching code를 사람이 읽을 수 있도록 바꾸어 표준 출력으로 출력하고, 종료한다.
-dd : packet-matching code를 C program의 일부로 출력한다.
-ddd : packet-matching code를 숫자로 출력한다.
-e : 출력되는 각각의 행에 대해서 link-level 헤더를 출력한다.
-f : 외부의 internet address를 가급적 심볼로 출력한다(Sun의 yp server와의 사용은 가급적 피하자).
-F file : filter 표현의 입력으로 파일을 받아들인다. 커맨드라인에 주어진 추가의 표현들은 모두 무시된다.
-l : 표준 출력으로 나가는 데이터들을 line buffering한다. 다른 프로그램에서 tcpdump로부터 데이터를 받고자 할 때, 유용하다.
-n : 모든 주소들을 번역하지 않는다(port,host address 등등)
-N : 호스트 이름을 출력할 때, 도메인을 찍지 않는다.
-O : packet-matching code optimizer를 실행하지 않는다. 이 옵션은 optimizer에 있는 버그를 찾을 때나 쓰인다.
-p : 인터페이스를 promiscuous mode로 두지 않는다.
-q : 프로토콜에 대한 정보를 덜 출력한다. 따라서 출력되는 라인이 좀 더 짧아진다.
-r file : 패킷들을 ‘-w’옵션으로 만들어진 파일로 부터 읽어 들인다. 파일에 “-” 가 사용되면 표준 입력을 통해서 받아들인다.
-T type : 조건식에 의해 선택된 패킷들을 명시된 형식으로 표시한다. type에는 다음과 같은 것들이 올 수 있다. rpc(Remote Procedure Call), rtp(Real-Time Applications protocol), rtcp(Real-Time Application control protocal), vat(Visual Audio Tool), wb(distributed White Board)
-S : TCP sequence번호를 상대적인 번호가 아닌 절대적인 번호로 출력한다.
-t : 출력되는 각각의 라인에 시간을 출력하지 않는다.
-tt : 출력되는 각각의 라인에 형식이 없는 시간들을 출력한다.
-v : 좀 더 많은 정보들을 출력한다.
-vv : ‘-v’보다 좀 더 많은 정보들을 출력한다.
-x : 각각의 패킷을 헥사코드로 출력한다.
- Packet Flag
S : SYN – 연결요청
F : FIN – 연결종료요청
R : RST – 즉시연결종료
P : PSH – 프로세스로 데이터전송
U : URG – 긴급한 데이터에 데이터전송 우선순위를 할당.
. : flag가 설정되지 않았음.
Detail
TCPDUMP 플래그(TCP 플래그)
S(SYN)
SYN패킷, 접속요청을 할 때 보내는 패킷을 말한다.
TCP접속시에 가장먼저 보내는 패킷이다.
TCP접속시에 가장먼저 보내는 패킷이다.
ack(ACK) :
ACK패킷, 상대방으로부터 패킷을 받은 뒤에 알려주는 패킷을 말한다. 다른 플래그와 같이 출력되는 경우도 있다.
F(FIN)
접속종료를 위한 플래그로 이 패킷을 보내는 곳이 현재 접속하고 있는 곳과 접속을 끊고자 할 때 사용한다.
R(RESET)
이 패킷을 보내는 곳이 현재 접속하고 있는 곳과 즉시 연결을끊고자 할 때 사용한다.
P(PUSH)
데이터를 즉시 목적지로 보내라는 의미이다.
텔넷과 같이 상호작용이 중요한 프로그램의 경우 빠른 응답이 중요한다. 이때 사용하는 플래그이다.
URG(UGENT)
긴급한 데이터는 다른 데이터에 비해 우선순위가 높아야 한다.
예를 들어 ftp로 자료를 받고 있는 도중 [CTRL]+[C] 를 받으면 즉시 자료받기를 중단해야 하는것처럼 이 때 사용하는 플래그이다.
.(Placeholder)
패킷이 SYN, FINISH, RESET, PUSH등의 플래그가 없는 경우 이 플래그가 세팅된다.
이 플래그는 ACK플래그와 함께 사용되는 경우도 있다.
- Example
# tcpdump -i eth0 => 인터페이스 eth0 을 보여줌
# tcpdump -w tcpdump.log => 결과를 파일로 저장, txt 가 아닌 bin 형식으로 저장됨
# tcpdump -r tcpdump.log => 저장한 파일을 읽음
# tcpdump -i eth0 -c 10 => 카운터 10개만 보여줌
# tcpdump -i eth0 tcp port 80 => tcp 80 포트로 통신하는 패킷 보여줌
# tcpdump -i eth0 src 192.168.0.1 => source ip 가 192.168.0.1인 패킷 보여줌
# tcpdump -i eth0 dst 192.168.0.1 => destination ip 가 192.168.0.1인 패킷 보여줌* and 옵션으로 여러가지 조건의 조합 가능
# tcpdump -i eth0 src 192.168.0.1 and tcp port 80 => source ip 가 192.168.0.1이면서 tcp port 80 인 패킷 보여줌# tcpdump -i eth0 dst 192.168.0.1 => dest ip 가 192.168.0.1인 패킷 보여줌
# tcpdump host 192.168.0.1 => host 를 지정하면, 이 ip 로 들어오거가 나가는 양방향 패킷 모두 보여줌
# tcpdump src 192.168.0.1 => host 중에서 src 가 192.168.0.1인것 만 지정
# tcpdump dst 192.168.0.1 => host 중에서 dst 가 192.168.0.1인것 만 지정
# tcpdump net 192.168.0.1/24 => CIDR 포맷으로 지정할 수 있다.
# tcpdump tcp => TCP 인것만
# tcpdump udp => UDP 인것만
# tcpdump port 3389 => 포트 양뱡항으로 3389인 것.
# tcpdump src port 3389 => src 포트가 3389인 것.
# tcpdump dst port 3389 => dst 포트가 3389인 것.* combine : and ( && ) , or ( || ) , not ( ! ) 으로 여러가지를 조합해서 사용 가능
# tcpdump udp and src port 53 => UDP 이고 src 포트가 53 인 것
# tcpdump src x.x.x.x and not dst port 22 => src ip 가 x.x.x.x 이고 dst 포트가 22 가 아닌 것* grouping : ( )
# tcpdump ‘src x.x.x.x and ( dst port 3389 or 22 )’ => src ip 가 x.x.x.x 이고 ( dst 포트가 3389 또는 22 ) 인 것 ==> 여기서는 ‘ ‘ 가 반드시 있어야 한다.
PowerMockup 소개-스토리보드 작성
PowerMockup 소개
스토리보드 작성툴을 소개합니다.
툴이라기보다 plug-in인데요.
일반적으로 스토리보드를 작성할때 파워포인트를 많이 사용합니다.
저도 그랬지만 도형과 이미지등으로 힘들게 만들었는데요.
파워목업을 사용하면 힘들지 않게 만들 수 있습니다.
툴이라기보다 plug-in인데요.
일반적으로 스토리보드를 작성할때 파워포인트를 많이 사용합니다.
저도 그랬지만 도형과 이미지등으로 힘들게 만들었는데요.
파워목업을 사용하면 힘들지 않게 만들 수 있습니다.
아래 링크에서 트라이얼 버젼을 다운받으면 파워포인트에 메뉴가 하나 생깁니다.
https://www.powermockup.com/download
https://www.powermockup.com/download
메뉴에 보면 powermockup 이란 메뉴가 생기고 클릭하면
오른쪽에 powermockup shapes라고 여러가지 이미지를 볼 수 있습니다.
오른쪽에 powermockup shapes라고 여러가지 이미지를 볼 수 있습니다.
저는 안드로이드 앱관련해서 스토리보드를 만들어볼려고 보니 없어서 다운을 받았는데
오른쪽 하단에 보시면 Download More Shapes 라는 곳에서 다운도 가능합니다.
오른쪽 하단에 보시면 Download More Shapes 라는 곳에서 다운도 가능합니다.
클릭하면 아래 이미지가 나오고 원하시는 shapes를 다운하시면 됩니다.
저도 다운을 받아 간단히 한번 만들어보았는데요.
트라이얼 버젼이라 작업할 수 있는 shape가 많지는 않네요.
트라이얼 버젼이라 작업할 수 있는 shape가 많지는 않네요.
powermockup을 좀 더 많이 활용하실분은 트라이얼 버젼에 대한 부분을 경험해보시고 블로깅 하시고
메일을 보내시면 라이센스를 준다고 합니다.
메일을 보내시면 라이센스를 준다고 합니다.
아래 링크로 접속하셔서 확인해보시고 메일도 보내시면 됩니다.
https://www.powermockup.com/order/free-license
https://www.powermockup.com/order/free-license
블로그 작성하실 분은 4가지 부분을 확인하시고 아래 밑줄을 클릭하시면 메일을 보낼 수 있는 폼으로 메일을 보내면
라이센스 관련 피드백을 받으실 수 있습니다.
라이센스 관련 피드백을 받으실 수 있습니다.
Picasa를 깔아서 이런 저런 기능을 사용해 보다가...
뭔일이래... 블로그까지 만들어 이러고 있다...
늪으로 빠져든다.^^ ㅋㅋ
뭔일이래... 블로그까지 만들어 이러고 있다...
늪으로 빠져든다.^^ ㅋㅋ
해돋이를 보러간 강릉
윤성이는 추운줄도 모르고 마냥 신이나서 백사장에서 신나게 놀았다.
살짝 눈이와서 백사장에 눈 쌓인 모습이 또 다른 매력과 장관이였다