MySQL 관련 질문!!!!

신호철의 이미지

현재 Snort룰을 참고하고 있습니다.

스노트룰을 디비에 넣어서 패턴 매치 할려고 합니다..

디비에 넣는 부분인데,, 저 같은 경우 각 프로토콜 별로 테이블을 만든후

그 테이블을 각 프로토콜별로 구조체에 넣어서 패킷과 패턴매치를 할려고합니다

그런데,, 문제가 있습니다.

+----+------+------+----------+----------+-
| No | Name | Type | Src_port | Dst_port | Alert | Mail | Log TL|
+----+------+------+----------+----------+-
| 1 | Jolt | Dos | NULL | NULL | 1 | 0 | 0 |NULL
+----+------+------+----------+----------+-

예를 들면 이부분에서 NULL 있잖아여.. Port부분은 스노트의 Any옵션때문에

저렇게 해 놓았거든요,, 좋은 방법있으면 말씀해주세영,,

그리고 포트 부분 말고 다른 부분에서의 NULL은 해당 공격에 대해서 룰옵션을 쓰지 않는것입니다.

이렇게만든 디비를 C 에서 부릅니다.

NULL데이타를 부를때 int 형으로 불러질줄 알았습니다.. 표시될때 걍 (NULL)이라고 표시될거라 생각했죠..

하지만 실행시키니 바로 세그맨테이션 오류가 나더군요,,,

그래서 문자형으로 불러봤더니 (NULL)값을 가지고 오더군요

그렇다고 포트부분하고, 비어있는 필드를 전부 캐릭터형으로 불러올수도 없

고,, 아니면 NULL대신 아무값이 없다라는,, 뭐 그런 자료형이나 방법 있습니

까? 길었네요,,, 방법 아시는분은 답장 달아주세요~~

아무값이 없다는 뜻의 NULL 말고, ''이것도 있는데 이것또한 문자형이구,,

테스트를 해본결과 1. DB(char) C(atoi()) 출력 = 0
2. DB(int) C(int) 출력 = 세크멘데이션오류
3. DB(char) C(char) 출력 = NULL

*디비내용은 NULL이라고 가정

해본방법은 룰옵션에 없는 공격데이터를 1.NULL, 2.'' 이 두개 값을 넣어보았습니다.

고수님들 부탁드립니다~~~~