일상2015. 5. 13. 18:56

그림자 찍는 것을 좋아한다.

그림자는 장비를 탓하지 않는다. 좋은 카메라가 아니어도 그림자는 제 모습을 충실히 보여준다.

지금까지 샀던 카메라는 똑딱이 뿐이다. 평상시에 스마트폰으로 그림자를 찍는다.

가까운 곳에 여행갈 때만 똑딱이 카메라로 찍는다.


정약용은 국화의 빼어난 점 5가지를 얘기했다.
늦게 꽃을 피우는 것, 오래 견디는 것, 향기로운 것, 어여쁘지만 요염하지 않고 깨끗하지만 차갑지 않은 것 그리고,
마지막 하나가 등불 앞의 국화 그림자를 꼽았다.

정조시대의 간서치(看書痴) 이덕무는 흰국화 꽃이 창호지에 그림자를 만들자,
묽은 먹을 묻혀 창호지 위에 베꼈다. 한 쌍의 나비가 꽃 가운데 앉자, 꽃 그림에 나비도 그렸다.
또 참새 한 마리에 가지를 잡고 매달리길래 참새가 놀라 날아갈까봐 급히 참새까지 보탰다.
그리고 붓을 던져버리고 한마디 말을 던졌다. “나비를 얻었는데 참새를 또 얻었구나”

그림자는 매 분마다 조금씩 변한다.
그림자의 하루 생활은 기울어졌다가 똑바로 섰다가 또다시 다른 쪽으로 기울기도 하고,
줄어들었다가 다시 자라나기도 한다. 바람이 불면 그림자는 바닥을 따라 이리 갔다 저리 갔다 한다.
그림자의 사진은 그래서 순간이 중요한 것 같다.
이덕무가 참새를 그릴 때 급히 그렸던 것처럼 그림자에게는 가장 좋은 자세를 취할 때 사진을 찍어줘야 한다.
그림자는 말한다. “지금이 내 자세가 가장 좋은 것 같아. 빨리 찍어줘”

그래서 찍었다. 그림자가 사진을 찍어달라고 해서.

5살 아이가 어른을 그린다면 (2015.5.)



개발자는 개발을. 그림자는 그림을. 그림이 그려지는 계절. 수묵화. (2015.4., 2014년에도 같은 나무 아래에서 비슷한 사진을 찍었다)



수묵담채화 (2015.5.)



햇볕이 강하게 내리 쬐네. 선캡 하나만 내 머리 위에 올려놓고 한낮을 버티라고 하기엔 너무 가혹해. 나도 더울 땐 그늘에서 쉬고 싶다. - 신호등 7형제 올림 - (2015.5., 2014년에 같은 사진을 찍었다)


펜싱중 (2015.4.)


그림자도 여름 준비. 시원하게 포즈를 취한 그림자 여인 (2015.5.)


Posted by 좋은진호
시스템이야기2014. 10. 15. 13:24

메신저 검열로 '텔레그램(Telegram)' 광풍이 불고 있다. 개인적으로 카톡을 자주 사용하지 않아, 텔레그램이 절실(?)하게 필요하지 않다. 하지만 텔레그램을 사용해야할 이유가 생겼다. 텔레그램이 서버에서 사용할 수 있는 CLI를 제공하고 있고, lua나 python으로 손쉽게 메신저와 연동할 수 있다.


그래서 텔레그램용 lua스크립트를 만들어서 서버 상태를 폰에서 받아볼 수 있다. 예를 들어 특정 서버의 MRTG/RRD를 메신저로 요청하면 그 이미지를 받아 볼 수 있다. 서버의 load값도 같은 방식으로 return받을 수 있다. 서버장애 문자를 텔레그램으로 받을 수 있도록 하신분도 있다. (※ 개인적으로는 이미 SMS로 받고 있는 것을 다시 텔레그램용으로 만들 필요는 없었다.)


텔레그램 CLI설치는 '리눅스에 텔레그램(Telegram) CLI 설치' (글 좋은진호)를 참고하고, 이 글은 서버 모니터링용 텔레그램 스크립트와 실제 사용 예를 보여줄 것이다.



1. 텔레그램 lua 스크립트 기본 구조


메시지를 수신하면 on_msg_receive 함수가 호출된다. 이 함수내에서 send_msg, send_photo, send_text 등의 함수를 이용해서 메시지를 상대에서 보낼 수 있다. 다음은 'hello'를 수신하면, 결과를 보내준다.


[ 스크립트 기본 구조 : hello.lua ]

function on_msg_receive (msg)

if ( msg.text == 'hello' ) then

send_msg(msg.from.print_name, "world", ok_cb, false)

return

end

end

function ok_cb(extra, success, result)

end


$ bin/telegram-cli -s hello.lua

... 생략 ...

[14:21]  Jinho >>> aa

User Jinho is typing

[14:22]  Jinho >>> bb

User Jinho is typing

User Jinho is typing

[14:22]  Jinho >>> 헬로우

User Jinho is typing

[14:22]  Jinho >>> hello

[14:22]  Jinho <<< world

User Jinho marked read 1 outbox and 0 inbox messages



telegram-cli 실행화면[ telegram-cli 실행화면 ]


스마트폰 어플 화면[ 스마트폰 어플 화면 ]



2. 서버모니터링용 스크립트 살펴보기


[ 모니터링용 스크립트 일부 : server_mon.lua ]

now = os.time()


dir_cmd = "/home/cnx/cmd"

cmd_ping = "cd ".. dir_cmd .."; sh ping.sh"

cmd_load = "cd ".. dir_cmd .."; sh load.sh"

cmd_netlog = "cd ".. dir_cmd .."; sh show_netlog.sh"

cmd_mrtg = "cd ".. dir_cmd .."; perl mrtg.pl"

cmd_404 = "cd ".. dir_cmd .."; perl 404.pl"


mrtg_res = {"load", "swap", "public_if", "private_if", "disk_io", "memory_free", "memory_inactive"}

auth_phone = {["821012345678"] = true, ["821087654321"] = true }


-- 메시지 수신 처리

function on_msg_receive (msg)

if msg.date < now then

return

    end

if msg.out then

return

end


-- command

local recv_msg = ""

if ( msg.text ~= nil ) then

recv_msg  = string.gsub(msg.text,"[;|<>]","") -- 받은 msg중에 ;, |, <, > 등의 문자는 지움

end

local cmd, arg  = split(recv_msg) -- exam : ping a b c d => cmd = "ping", arg = "a b c d"

local file_name = ""

cmd = string.lower(cmd)

print("receive : ", cmd, "\n")


-- user_info

print("Name    : ", msg.from.print_name) -- 메시지 보낸사람 real name (Jinho)

print("Phone   : ", msg.from.phone) -- 메시지 보낸사람 전화번호  (8210AAAABBBB)

print("Msg Num : ", msg.id) -- 메시지 번호

print("to.Name : ", msg.to.print_name)


-- 일반대화, 비밀대화 구분해서 메시지 전송

if (msg.to.id == our_id) then

user_id = msg.from.print_name -- 일반대화창

else

user_id = msg.to.print_name -- 비밀대화창

end


-- auth (지정한 폰번호만 인증)

if auth_phone[msg.from.phone] then

print "auth    : OK "

else

print "auth    : invalid user"

return

end

mark_read(user_id, ok_cb, false) -- 읽은 메시지로 표시


-- ping

if ( cmd == 'ping' ) then

os.execute(cmd_ping .. arg)

send_text(user_id, dir_cmd ..'/result_ping.txt', ok_cb, false)

return

end


-- load

if ( cmd == 'load' ) then

... 생략 ...

end


-- netlog

if ( cmd == 'netlog' ) then

... 생략 ...

end


-- MRTG

if ( cmd == 'mrtg' ) then

os.execute(cmd_mrtg .. arg)

arg = trim(arg)

for i=1, table.maxn(mrtg_res) do

file_name = dir_cmd .."/".. arg .."_".. mrtg_res[i] .."-day.png" -- DIR/FILE

-- print (file_name)

if ( file_exists(file_name) ) then

send_photo(user_id, file_name, ok_cb, false)

end

end

return

end


-- web 403/404 status

if ( cmd == '404' ) then

... 생략 ...

end


-- help

-- if ( cmd ~= '' ) then

if ( cmd == 'help' ) then

send_text(user_id, dir_cmd ..'/help.txt', ok_cb, false)

end

end


... 생략 ...


주요부분을 살펴보자.

if ( cmd == 'ping' ) then

os.execute(cmd_ping .. arg)

send_text(user_id, dir_cmd ..'/result_ping.txt', ok_cb, false)

return

end


모니터링용 스크립트에서는 각 명령어마다 외부 명령을 호출하고 결과를 text파일로 저장했다. 그리고, 그 text파일 내용을 메시지로 뿌려지도록 했다. 명령어 추가는 if ( cmd == '명령어 ' ) then 형태로 확장해주고, 외부 명령 처리할 스크립트만 만들어주면 된다.

 

if (msg.to.id == our_id) then

user_id = msg.from.print_name -- 일반대화창

else

user_id = msg.to.print_name -- 비밀대화창

end


secret chat을 지원한다. msg.to.id == our_id 라면, 즉 받는 사람과 CLI 메신저 유저가 같다면 일반대화창으로 대화중이고, 그렇지 않는 것은 비밀대화이다. 비밀대화는 msg.from.print_name이 아닌 msg.to.print_name 에게 메시지를 보내야 한다. 아래 루틴이 없다면 폰에서 비밀대화로 메시지를 보냈더라도 CLI에서는 응답을 일반대화창으로 보낸다.


if auth_phone[msg.from.phone] then

print "auth    : OK "

else

print "auth    : invalid user"

return

end


auth_phone 에서 지정한 휴대폰에서만 명령을 처리한다.


mark_read(user_id, ok_cb, false)


메시지를 읽은 것으로 표시한다.


※ lua스크립트를 처음해봤다. lua 매뉴얼을 보면서 스크립트를 하루에 만들고, 그 이후에 한번 기능을 추가한 정도다. 그래서 스크립트 lua개발자들이 보기에는 좋지 않은 부분도 있을 것이다. lua고수에게는 연필깍는 칼처럼 뻑뻑하게 보일 수 있겠지만, 누군가 다듬어 사용하면 생선회감용 칼처럼 휼륭(?)하게 쓰일 수 있을 것 같다.


※ ping.sh, load.sh 등의 외부 호출 스크립트는 공개하지 않겠다. 내부 서버들의 데이터를 추출하는 부분이라서 공개하기가 쉽지 않고, 이 글을 읽는 분들의 서버상황이 저와는 다를테니 스크립트 내용보다는 호출 방식만 눈여겨 보면 좋을 것 같다.



3. 텔레그램 CLI 실행


$ bin/telegram-cli -s server_mon.lua

또는

$ bin/telegram-cli -s server_mon.lua -d &


테스트위해서는 -s 옵션만, 추후 운영하기 위해서는 -d 옵션으로 넣어 데몬형태로 실행한다.



telegram-cli 화면[ telegram-cli 화면 : help를 보내주고, ping 결과를 보내준 화면 ]


텔레그램 스마트폰 어플 화면[ 스마트폰 어플 화면 : 아무키나 입력해서 도움말을 확인, 서버그룹별 ping과 개별 IP별 ping 결과 요청 ]

※ 스크립트를 수정해서 'help'명령을 내렸을 때만 도움말을 보여주도록 바꿨다. 스크립트 수정 전에 캡쳐한 것임.



telegram-cli 화면[ telegram-cli 화면 : load 결과, MRTG 그래프 7개를 보내준 화면 ]


텔레그램 어플 화면[ 스마트폰 어플 화면 : load 결과, MRTG 그래프를 받은 화면 ]




4. 참고자료


* 텔레그램 CLI 소스에 들어있는 test.lua

* 텔레그램 README-LUA

* Lua check if a file exists

* Telegram Messenger Client



Posted by 좋은진호
IT이야기2013. 10. 4. 19:27

갤럭시 기어(Galaxy Gear)와 갤럭시 노트 3(Galaxy Note3)가 전시되어 있어서 잠깐 사용해봤다.

  • 문자 확인, SNS 확인 등 보조 수단으로 편리할 것 같다.

  • 스피커와 마이크가 내장되어 있어, 통화가 가능하다. 그러나 혼자 있는게 아니라면 통화하기에는 좋지 않을 것 같다. '너희~ 목소리가 들려...'
    이어폰잭을 제공하면 어떨까. 이어폰은 옷에 끼울 수 있는 아주 작은 클립을 제공해주고.

  • 스마트폰의 Back버튼에 해당되는게 '위에서 아래로' 터치하는 것이다. 직관적이지 않다. 익숙함이 필요.
  • 생각보다 무겁다. 나도 모르게 '묵직하네'라는 말이 나왔다.

  • 남자, 여자 중 누구에게 더 맞을까?
    남자? 디자인이나 무게를 생각하면 남자에게 더 어울린다.
    여자? 스마트폰을 손에 들고 있지 않는 성비를 따지면 여자 많을 것 같다. 스마트폰을 핸드백에 넣고 다니는 여자분이 많으니까.

  • 갤럭시 기어를 활용한 게임들이 등이 나오지 않을까. 헬스용 어플도 다양해질 것 같고.


갤럭시 기어갤럭시 기어


갤럭시 기어의 만보계 기능갤럭시 기어의 만보계 기능


갤럭시 기어 카메라시계줄에 달린 카메라로 사진 찍기. 시계를 두번 다닥 처치해주면 된다.


갤러리갤러리


갤러리페이지에서 터치를 길게 하고 있으면 선택 & 싱크할 수 있는 화면이 나온다. 사진을 선택 후 시계 하단의 싱크 아이콘을 터치하면 갤럭시노트3로 사진이 싱크된다.


갤럭시노트3의 갤러리 페이지. 'Galay_Gear' 페이지를 열어두면 싱크되는 사진을 바로 확인할 수 있다.


갤럭시 노트 3의 'Gear manager' 화면. 이 어플을 통해서 갤럭시 기어와 연동 및 제어를 할 수 있다. 시계 화면 변경, 갤럭시 기어 정보 확인, 새로운 어플 설치, 환경 설정 등


Gear manager에서 '내 Gear 찾기'


연결된 Gear 정보


갤럭시 기어 -> 환경설정에서 기어 정보를 확인


Gear manager에서 '나의 애플리케이션'


Gear manager에서 '나의 애플리케이션'


Gear manager에서 'Samsung Apps'. 갤럭시 기어용 어플이 몇십개 정도는 되는 것 같다. 적어 아쉬움이 있다.


Gear manager에서 '설정'


Gear manager에서 '설정' -> '전원 버튼 두 번 누르기'. 설정에 따라서 갤럭시 기어의 전원 버튼의 기능이 달라진다.






Posted by 좋은진호
IT이야기2013. 9. 17. 13:07

'[국정원]내란음모로 인한 소환서 발부되었습니다 내용확인 rort.??/???'이라는 '스미싱 문자 기사'를 봤다.



apk파일을 받아보려고 'PC 브라우저'에서 접속해봤다. 그런데, '[olleh]스미싱 감염 예방 안내'라는 페이지( http://175.196.95.228/smishing.htm )로 바로 이동해버린다. KT가 스미싱 차단 서비스를 얼마전에 시작했는데, 이게 이통망만 적용한게 아니었다.


[olleh]스미싱 감염 예방 안내

1. 문자에 포함된 인터넷주소가 확실하지 않은 것이면 누르지 마십시오. 다양한 방법으로 유해어플이 설치되어 문자 수신이 안될 수 있습니다.

2. 올레마켓에서 알약(http://olleh.kr/alyac) 또는 올레스미싱차단 앱 등 백신을 다운받아 검사하시면 감염확인 및 치료를 할수 있습니다.

* 휴대폰을 최상의 상태로 유지하기 위하여는 하루에 한번 정도 전원을 껐다 켜 주세요.

다른망을 통해 PC에서 접속해봤는데, 악성 apk 배포 서버가 내려갔는지 접속은 안된다.


아무튼 안드로이드 사용자는 문자에 URL이 포함될 때 주의해야 한다.

1. 스마트폰에서 SMS문자의 URL을 누르지 않는다.
2. 실수로 URL을 눌렀을 때, 어플 설치하라는 메시지가 나오면 절대 설치하지 않는다.
3. URL을 '반드시' 확인해보고 싶다면(실제 지인이 보낸 문자일 가능성이 있을 때) 폰이 아닌 백신이 설치된 PC에서 크롬, 파폭 브라우저로 확인한다.

Posted by 좋은진호
IT이야기2012. 10. 8. 08:50

신용카드 크기만한 라즈베리 파이(Raspberry Pi)에 xbmc( http://www.raspbmc.com/download/ )를 설치한다.
설치 시간은 20~30분 정도 소요가 된다. xbmc 설치 후에 기본적으로 '시스템' -> '설정'에서 언어, 시간대 등을 변경해야 한다.

라즈베리 파이(Raspberry Pi)[ 라즈베리 파이. 인터넷은 유선 대신에 USB 무선랜카드로 연결했다. ]


라즈베리 파이를 리눅스 장난감(?)과 영화감상용 PC용으로 사용하기 위해서 구매했다.

  • 리눅스 장난감으로 쓸 때는 데비안 기반의 Raspbian + 모니터 구성으로 사용하고,
  • 영화감상으로는 xbmc + 프로젝터로 사용한다.


1. 라즈베리 파이 xbmc에서 설정하기

시스템 -> 설정 -> 서비스 -> 웹서버를 선택한다. 포트는 기본포트 대신에 8888으로 변경을 했다. ID와 비밀번호를 설정한다.
IP로 원격제어하므로 라즈베리 파이가 같은 네트웍이 아니어도 상관없다.

xbmc[ xbmc의 웹서버 설정 화면 ]



2. 스마트폰에서 설정하기

스마트폰에는 xmbc remote 어플을 설치한 후 Manage XBMC Hosts에 접속할 라즈베리 파이 xbmc서버를 추가한다.

xmbc remote[ xmbc remote어플에서 접속할 xmbc 서버를 추가하는 화면 ]



라즈베리 파이의 IP를 모를 경우에 라즈베리 파이 xbmc의 '시스템' -> '시스템 정보'에서 확인할 수 있다.
라즈베리 파이 xbmc에서 IP를 DHCP로 할당받는다면 부팅할 때 IP가 바뀔 수도 있다. IP가 바뀔 때마다 스마트폰에서 접속할 IP를 설정한다면 불편할 것이다. 공유기에서 '라즈베리 파이의 MAC주소'에 대해서는 '고정 IP'를 할당받도록 설정하는게 좋다.


xbmc remote[ 추가한 xbmc 서버 목록 ]


접속하면 다음과 같은 화면을 볼 수 있다. Remote Control를 터치한다.


xbmc remote[ xbmc에 연결된 어플 화면 ]


리모콘 버튼은 세부분으로 나누는데 크게 불편함이 없다.

1. 비디오, 음악, 사진, TV 등 바로 실행 버튼
2. play/stop 등의 재생 관련 버튼
3. 상하좌우 이동, 선택 버튼


xbmc remote[ xbmc remote 리모콘 ]


xbmc remote어플에서 'Now Playing'를 선택하면 다음과 화면을 볼 수 있다.


xbmc remote[ xbmc remote어플의 Now Playing ]


다음은 라즈베리파이 xbmc + 유선 USB 랜카드 + 프로젝터 + 스마트폰 xbmc remote 어플 조합으로 조작하는 xbmc화면이다.



xbmc[ 프로젝터로 본 xbmc 화면 ]


xbmc[ xbmc 영화 화면 ]


xbmc[ xbmc 음악 감상 ]





라즈베리 파이와 xbmc remote어플로 즐거운 영화감상하세요.

Posted by 좋은진호
IT이야기2010. 12. 1. 23:27
Pingdom 블로그의 'Mobile OS usage splits the world (chart)' 글에 따르면 전세계 모바일OS별 이용률에서 아이폰은 북미, 유럽, 오세아니아 등 선진국이 많은 지역에서 앞선다. 반면, 노키아의 심비안OS는 아프리아, 아시아, 남미 등 개발도상국, 후진국이 많은 곳에서 비율이 높다. 그리고, 안드로이드가 아이폰의 비율을 점점 갉아먹으면서 비율이 높아지고 있다.

심비안 OS  31.93%
iOS           21.94%
블랙베리    19.25%
안드로이드 11.61%

이 자료는 StatCounter( http://gs.statcounter.com/ )의 통계를 기반으로 했다. 이 통계자료의 진정한 가치는 통계 수치보다는 비율의 변화에 있다.

전세계 모바일OS별 웹이용률

[ 전세계 모바일OS별 웹이용률. 출처 : StatCounter ]


한가지 흥미로운 통계는 국가별로 안드로이드 OS의 웹이용률이 50%가 넘는 나라는 우리나라 밖에 없다. 다른 나라와 극명하게 차이가 날 정도로 절대적인 1위를 차지하고 있다. 이게 바로 170만의 갤럭시S의 힘. 삼성의 힘이라고 보면 될 것 같다.

 1. South Korea, 78.3% (오늘 현재 통계는 81.93%)
 2. Austria, 27.3%
 3. Taiwan, 26.5%
 4. Denmark, 25.3%
 5. Slovenia, 24.0%
 6. United States, 23.3%
 7. Netherlands, 21.7%
 8. Sweden, 21.3%
 9. Estonia, 16.8%
10. Norway, 16.0%

우리나라의 모바일OS별 웹이용률 통계다. 안드로이드 81.93%, 아이폰 14.59%.

[ 우리나라의 모바일OS별 웹이용률. 출처 : StatCounter ]


한편 최근에 발표된 11월중순까지의 국내 스마트폰 가입자는 602만명이며, 이중에 안드로이드가 354만명, iOS가 162만명이다. 각각 58.6%, 26.9%를 차지한다.

[ 가입자 통계 출처 : 국내 스마트폰OS 시장, 안드로이드 '1위'(전자신문, 2010.11.30) ]


국내 안드로이드 가입자 비율이 58%인데, 웹이용률은 78.3%로 더 높다는 것은 2가지로 생각해볼 수 있을 것 같다. 첫째는 안드로이드 유저의 모바일웹 이용률이 더 높다는 것이다. 두번째는 이 통계가 전체 인터넷 이용률이 아닌 웹페이지 이용률이므로, 스마트폰 OS별로 유저의 인터넷 이용 성향의 차이가 있다는 것이다.

Posted by 좋은진호
IT이야기2010. 6. 5. 02:08
국내 KT에서 6월에 출시될 예정인 넥서스 원(Nexus One)이 Android 2.2 Froyo(프로요)를 탑재할 것이라고, 지난달 말 KT에서 트위터를 통해 발표를 했다.

Nexus One

구글 넥서스원(Nexus One)


아직 출시전인 6월 3일에 KT IP대역(KTF망=즉, KT 3G망 IP대역)에서 접속한 흔적이 있다. Android 2.2인 것을 확인할 수 있다.

Mozilla/5.0 (Linux; U; Android 2.2; en-us; Nexus One Build/FRF50) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1


그리고, SKT에서 이달 출시 예정인 모토로라의 XT800W, XT800C(XT800W는 3G WCDMA용, XT800C 2G CDMA용)도 출시 전에 SKT IP대역에서 각각 5.28(금), 6.1(화)에 접속했다.

Mozilla/5.0 (Linux; U; Android 2.1-update1; ko-kr; XT800W Build/TTSKT_U_80.10.19R) AppleWebKit/530.17 (KHTML, like Gecko) Version/4.0 Mobile Safari/530.17
Mozilla/5.0 (Linux; U; Android 2.1-update1; ko-kr; XT800C Build/TTCSK_X1_00.15.0) AppleWebKit/530.17 (KHTML, like Gecko) Version/4.0 Mobile Safari/530.17


가끔 출시 전에 접속하는 경우가 있는데, 각 이통사들의 내부 테스트중? 아니면 해외 구매하여 개통한 국내 유저? (해외 제품이 아닌 국내 휴대폰제조업체의 국내 첫 출시되는 폰의 경우도 출시전 접속하는 경우도 있었다.) 내부 테스트중이라면, 어떤 사이트를 테스트 대상으로 지정하는 것일까...



* 관련글

- 스마트폰, 풀 브라우징폰의 User Agent명(브라우저명)은? ( 2009.4~ )
- 2010/05/03 - [IT이야기] 삼성 갤럭시A 안드로이드폰 User Agent
- 2010/04/20 - [IT이야기] 아이폰용 오페라 미니 브라우저와 iPad의 User Agent
- 2009/07/13 - [IT이야기] 미출시된 초콜릿폰 II에서 웹페이지 접속한 흔적이? 테스트중?

Posted by 좋은진호
IT이야기2010. 5. 3. 23:53
출시한지 며칠 지나지 않은 '삼성 갤럭시A(GALAXY A, SHW-M100S)' 안드로이드폰에서 접속한 유저가 있었다. 안드로이드 2.1 버전임을 확인할 수 있다. 국내 SKT IP대역이었으며, 언어셋은 'ko-KR, en-US'.

Mozilla/5.0 (Linux; U; Android 2.1-update1; ko-kr; SHW-M100S Build/ECLAIR) AppleWebKit/530.17 (KHTML, like Gecko) Version/4.0 Mobile Safari/530.17

삼성 갤럭시A (Galaxy A, SHW-M100S)

[ 삼성 갤럭시A ]


발빠른 스마트폰 유저들 많더라.
3월에 'LG 안드로-1(Eve, GW620)'이 출시됐을 때도, 당일에 접속했다. 엄청 빠른 유저분들.


* 관련글

- 스마트폰, 풀 브라우징폰의 User Agent명(브라우저명)은? ( 2009.4~ )
- 2009/04/17 - [IT이야기] - 풀 브라우징 휴대폰의 User Agent명(브라우저명)은?
- 2009/07/13 - [IT이야기] - 미출시된 초콜릿폰 II에서 웹페이지 접속한 흔적이? 테스트중?
- 2010/04/20 - [IT이야기] - 아이폰용 오페라 미니 브라우저와 iPad의 User Agent

Posted by 좋은진호
IT이야기2009. 11. 23. 19:19
11월 초에 Ikee worm이름의 아이폰 웜(iPhone Worm)이 최초로 발견되었다. 그리고, F-Secure의 'Malicious iPhone worm' 글에 따르면 또 다른 아이폰 웜이 발견되었다.

아이폰 보호 기능을 해제하고, default 비밀번호를 변경하지 않은 경우에 감염이 된다.

이 웜은 리투아니아에 있는 웹기반 C&C(command & control center) 서버에 접속한다. 그리고, 이 때 아이폰의 시스템 정보(uname)와 SQLite 정보(SQLITE 환경변수), IP정보(ifconfig) 등을 저 서버에 넘겨주게 되어 있다. F-Secure에 따르면 아직 웜이 확산되지는 않았지만 위와 같은 정보들을 빼내가기 때문에 Ikee worm보다는 더 심각한 웜으로 보고 있다.

저 리투아니아에 있는 C&C 서버에 /xml/a.php?name= 값으로 접속하면, 404 not found 페이지를 보여준다. a.php 페이지가 이제 지워졌으니 문제없겠구나 생각할 것 수 있을 것 같다. 그러나 실제 지워지지 않았다. 마치 파일이 없는 것처럼 눈속임 화면을 뿌려준 것이다. 실제로는 200 OK.

iphone worm C&C서버

[ 404 페이지인 것처럼 속이고 있다. ]


HTTP/1.1 200 OK
Date: Mon, 23 Nov 2009 09:47:26 GMT
Server: Apache/2.2.3 (Debian) PHP/5.2.0-8+etch15
X-Powered-By: PHP/5.2.0-8+etch15
Content-Length: 228
Connection: close
Content-Type: text/html; charset=UTF-8

<HTML><HEAD>
<TITLE>404 Not Found</TITLE>
</HEAD><BODY>
<H1>Not Found</H1>
The requested URL /xml/a.php?name=.... was not found on this server.<P>
<HR>
<ADDRESS>Apache/1.3.34 Server at 92.61.38.16 Port 80</ADDRESS>
</BODY></HTML>Connection closed by foreign host.


그리고,  http://www.malwaredomainlist.com/mdl.php 에서 목록을 보면 /xml/p.php 페이지도 아이폰 웜이 호출하는 페이지로 되어 있다. 마찬가지로 404 페이지인 것 처럼 눈속임을 하고 있다.

먹을 것이 많아지니 벌레가 들끓는다.


최초 웜에 대한 것은 다음 글을 참고하기 바란다.

Posted by 좋은진호
IT이야기2007. 8. 14. 01:51
예전에 한 이통사가 음악소리의 일부만으로 음악을 찾아주는 TV광고를 한 적이 있다. 미국의 Melodis사의 'midomi' 서비스( http://www.midomi.com/ )는 멜로디를 흥얼거리면 음악을 검색해주는 서비스이다. 올해 1월에 미국에서 처음 시작을 했고, 8월 10일에 'midomi'의 일본어 서비스( http://www.midomi.co.jp/ )를 시작했다.

사용자 삽입 이미지


현재까지 등록된 음악 데이터 수는 10만곡 이상이라고 한다. 그 중 일본어 곡은 1만곡 정도. 서비스 이용은 영어나 일본어나 동일하다.

1. midomi 사용자들은 허밍, 가사가 있는 노래 등 멜로디를 등록한다. 이를 통해 음악 DB를 확보하게 된다.
   중요한 것은 노래를 잘 부를 필요가 없다는 것. ^^
2. 어렴풋이 알고 있는 음악을 찾고자 할 때, 플래쉬를 통하여 마이크로 흥얼거린다.
   (이 흥얼거린 것도 DB로 등록을 할 수 있다.)
3. 비슷한 멜로디의 곡을 위의 음악 DB에서 검색해준다.

즉, midomi 서비스는
1) 사용자가 올린 멜로디 UCC (음악 DB)와
2) 언어와 소리 높낮이, 템포 등의 효소를 분석하는 MARS(Multimodal Adaptive Recognition System)라고 불리는 인식기술
3) 그리고, SNS가 만난 서비스이다.

사용자 삽입 이미지
[ 모바일 서비스도 제공. 사진 출처 : internet.watch.impress.co.jp ]


------------------------------------------------------------
2011년 내용 추가

스마트폰에서 외국음악을 찾아주는 어플로는 사운드하운드(Soundhound)가 아주 좋습니다.

Soundhound


  • 아이폰과 안드로이드폰 모두 사용 가능
  • 음악을 찾으면 가사도 함께 확인이 가능 (가사가 제공되지 않을 때는 구글 검색으로 링크)
  • 검색 결과 히스토리 기능
Posted by 좋은진호