패킷구조중,, 이부분은 어디일까,,,

신호철의 이미지

스노트 룰 옵션에 보면 Dsize, Content 가 있죠,,,

Dsize와 Content 부분은 패킷구조중,, 어느부분을 추출해내야 값을 구할수 있나요?

그리구영,, 스노트 메뉴얼을 보니 Packet payload 란게 있던데 뭐죠?

alert tcp ------------------------...

여기에서 tcp는 무엇을 의미하는거졍?

고수님들 빠른 답변 부탁드립니다..

최종호의 이미지

snort는 룰을 정의할 때 protocol을 지정하게 되어있습니다.
메뉴얼에 보니까 현재 tcp, udp, icmp, ip 를 지원하고 있다고 되어있네요.
dsize 는 각 프로토콜에서 헤더부분을 제외한 실제 데이터 부분의 크기를 의미합니다.
content는 그 실제 데이터를 나타내고요.

넷웍쪽의 프로토콜은 레이어 구조로 나뉘어져 있기 때문에
어플리케이션에서 생성하는 하나의 메시지가 전송되기 위해서는
아랫쪽의 레이어를 거치면서 각 레이어에서 여러 정보들을 붙이게 됩니다.

application에서 "hello, world!" 를 TCP 소켓을 통해서 전송하면
TCP 단에서는 여기에 포트 정보, 시퀀스 정보, 윈도우 정보, 체크섬,
기타 플래그 등을 덧붙여서 IP단으로 내려보내고,
IP단에서는 TCP단으로 부터 온 정보에 IP address 정보, 상위프로토콜종류, TTL,
체크섬 정보 등을 추가해서 아랫단으로 내려보내죠.

ip 차원에서 보자면 tcp나 udp 데이터는 해당 ip 패킷의 payload가 되겠죠.
tcp 차원에서는 application에서 보내는 데이터
(write()나 send()로 보내는 데이터)가 해당 메시지의 payload가 되고요.

따라서 dsize와 content는 룰에서 사용하는 프로토콜에 따라서 구하는 방법이 틀립니다.

예를 들면 ip 프로토콜에서는 total length 필드(bit16~31. 바이트단위)에서 헤더의 길이를 빼면 dsize를 구할 수 있고,
패킷에서 헤더길이(bit4-7. 32bit 워드단위) 만큼을 지난 곳부터 읽으면 content가 되겠고요

tcp 프로토콜에서는 ip 의 total length에서 ip 헤더의 길이와 tcp 헤더의 길이
(bit96-99. 32bit 워드단위. Data offset)를 빼면 구할 수 있습니다.
content의 위치는 ip 패킷과 동일한 방식으로 구하시면 되고요.
(tcp 세그먼트는 자체에 길이정보를 가지고 있지 않고 아랫레이어정보로부터 계산을 해서 구합니다.)

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.