장기간 삭은 크라켄 이슈 목록

1. 전반적으로 ipojo 1.8.0 테스트 후 이행
 * 현재 1.4.0 쓰고, 1.6.0은 버그 있어서 건너뜀

2. kraken-http & kraken-webconsole
 * 서블릿 스펙과 웹소켓 스펙이 통합된 HTTP 서비스의 구현
  * 현재 웹소켓 쓰는 경우 업로드 처리나 서블릿 지원이 안 됨
  * 독자적인 서블릿 컨테이너를 가지고 싶지만 너무 자원 낭비스럽기도 하고..
 * File Upload Service가 Preference 의존적이지 않도록 재작성
  * 현재 불필요한 kraken-jpa 및 kraken-dom 디펜던시가 생겼음

3. kraken-pcap
- fragment 및 segment timer 걸어서 타임아웃된 리소스 해제
- unsigned short 디코딩 버그 패치
- tcp window validation 처리
- 사실 tcp decoder 구조가 안 좋아서 엎긴 해야 되는데..
- 아무튼 수십시간 연속 테스트 후 메모리 덤프해서 확인 필요..
- L7 프로토콜 디텍터 인터페이스 및 동작 확인
- 리눅스에서 네이티브 라이브러리의 링크 버전 문제 (0.9로 링크된 후 1.0을 못 찾는다거나)

4. kraken-http-decoder
- 일관된 콜백 구조 확립 (getContent, getTextContent, 부분전송 수신 등 중구난방)

5. kraken-netbios-decoder/kraken-smb-decoder/kraken-dcerpc-decoder
- 코드는 겁나 많은데 아직 conficker 익스플로잇 디텍션 테스트를 못해봤음 -_-...

6. kraken-logstorage
- 로그 시각 순서가 꼬였을 때 입력 불가한 이슈는 kraken-btree 개발이 다 되면 인덱스로 해결 가능

당장은 kraken-siem 초판 구현을 완료하는데 집중해야지..
지금까지 만들어진 것들 전부 Ext JS로 UI 만들어 붙이는 것만 해도 작업량이 너무 많아서..
전부 플러그인으로 붙다보니 사용하기 너무 복잡해서.. 쉬운 UI로 다시 만드는 것도 상당한 삽질..


근성으로 가는 수 밖에 뭐..

Java String Formatter 코드

그동안 막연하게 자바는 문자열 포맷팅할 때 placeholder 위치 지정 안 된다고 생각하고 있었는데 험험..
오늘 확인해보니 이렇게 가능했군..

System.out.println(String.format("%2$s %1$s", "xeraph", "hello"));

hello xeraph

%1$ 이런 식으로 쓰는게 좀 거추장스러워 보이긴 하지만 어차피 C#도 {0} 이니까 글자 수는 뭐~~
원래 있는 기능 써서 메시지 지역화 추가하면 되겠다..

Kraken WebConsole의 메시지 디버깅 NCHOVY

손쉽게 하는 방법은 아래와 같다.. 먼저 파일시스템에 위치한 kraken.js의 주석을 푼다.

socket.onmessage = function(event) { 
// console.log(event);
channel.onreceive(event.data);
};

console.log를 풀면 메시지가 도착할 때마다 구글 Chrome의 Developer Console에서 로그가 뜨게 될 것이다. 처음에 웹콘솔 번들이 올라오면 아래와 같이 되어있을 것이다..

kraken> webconsole.prefixes
/siem: [bundle://29.0:0/]
/: [bundle://9.0:0/]

이 상태에서 루트 경로를 파일시스템으로 전환한다.

kraken> webconsole.removeResourceContext /
context removed

kraken> webconsole.addResourceContext / D:\kraken\kraken-webconsole\src\main\re ources\WEB-INF
context added

이제 로그인한 다음, 크라켄 웹콘솔의 Developer Console을 열고 메시지버스 콜을 날리고 응답을 확인하면 된다.

사실 대부분의 경우는 console.log 없이 웹콘솔의 Developer Console만으로 진단이 가능한데, Trap 메시지 같은 경우 요청/응답이 아니면 출력이 나오지 않으므로 Developer Console을 개선해서 해결하거나..(Trap 탭을 별도로?) 아니면 이렇게 하는 수 밖에 없다.

아무튼 위의 prefix 바인딩 대체 명령은 웹콘솔 자바스크립트 UI 개발을 진행할 때도 일반적으로 사용된다. (매번 수정할 때마다 번들을 컴파일 해서 올리는 것은 중노동이므로)

Kraken Filemon Screenshot NCHOVY


내일은 흠.. 스레드 풀에 넣어서 돌려볼까..
하드는 무진장 긁네..

이전 11 12 13 14 15 16 17 18 19 20 다음