[질문] PROMISCUOUS모드와 sniff

익명 사용자의 이미지

NIC의 PROMISCUOS모드를 이용해서 같은 로컬넷상의 패킷들을 모두 잡을 수 있잖
아요.
만약 제 아이피가 10.0.0.1이라면....다른 10.0.0.2라던지 같은 로컬넷상의 다른 호스트
의 모든 패킷을 잡을 수 있나요?
libpcap으로 해보니 같은 로컬넷상의 다른 호스트가 로컬넷으로 브로드캐스팅하는
(10.0.0.255) 패킷은 잡히는데...
다른 호스트(10.0.0.2)가 외부네트웍과 통신하는 패킷들은 안 잡히네요....
PROMISCUOUS모드가 원래 이런가요? sniff는 모든 패킷을 잡아 주겠죠? 이건 어떻
게 구현되어 있나요?

익명 사용자의 이미지

아마도...
물리적으로 동일한 네트워크 세그먼트 내에
있는 호스트에 보내어지거나 그러한 호스트에서 출발한
패킷만 잡을 수 있을 겁니다.

익명 사용자의 이미지

ethernet상에서의 모든 패킷은 물리적 세그먼트내에서 브로드 캐스팅 됩니다.
그러한 패킷은 nic에 의해 자신의 mac address와 동일한 주소를 가진것일경우
그 패킷을 받아들이죠.(non-promis..)
하지만 promis..모드는 mac address와 상관없이 브로드 캐스팅 된 모든 packet을
받아 들입니다.
따라서 네트웍(물리적 세그먼트내)에 돌아다니는 모든(설령 게이트웨이 밖에서 온
패킷일 지라도)패킷을 받아들이게 됩니다.

익명 사용자의 이미지

PROMISCUOUS모드가 nic에 셋팅되면 모든 팻킷을 다받아 들입니다.
그러나 현실은 그렇지가 않죠.
nic가 모든 팻킷을 받아 들이는것은 사실입니다.
단지 nic에게 모든 패킷이 전해지지 않는다것이 문제이지요.
라우트를 통해 팻킷이 들어오면 라우트는 IP헤드에 있는 dest IP를 기준으로
자신의 arp테이블에서 dest IP와 상응하는 MAC address를 이더넷 헤드에
써넣고 패킷을 브로드 캐스팅 시킵니다.
브로드 캐스팅이니깐 모든 호스트에게 다갈거라고 생각하지만 그것은 어디까지나
허브가 더미 허브일때만 그렇습니다.
요즘은 스위칭 허브의 가격이 싸져서 거의 모든 곳에서 스위칭허브를 사용합니다.
그것은 스위칭 허브가 자원을 더 능률적으로 분배하는것도 이유이겠지만
보안상의 이유도 있습니다.
스위칭 허브는 각 노드들의 MAC address를 테이블에 저장하고있어서 패킷이 들어 오면
이더넷 헤드의 mac address를 참조하여 동일 한 노드만을 연결 시키고 나머지는 차단합니다.
그래서 자원을 능률적으로 활용할수도 있는 것이고 보안상 더욱 안전하게 되는 것입니다.
결국 팻킷이 브로드캐스팅 된다고 해도 스위칭 허브에서 그 팻킷의 목적지만을 찾아가게 만들어서
스니퍼를 뛰워도 같은 네트웩의 팻킷들이 읽히지 않는것입니다.

익명 사용자의 이미지

Switching hub에서는 자기 자신에 대한 packet과 broadcasting packet만
이 전달됩니다. 그러니 님의 상황으로 보건대 아마도 switching hub일 것
이라고 짐작가능하군요.

Dummy hub에서는 모든 packet이 다 전달됩니다. 걔는 하는 일이 그냥 뿌려
주는 거라서 그렇습니다.

익명 사용자의 이미지


자세한 기술적인 내용까지는 모릅니다만, 다른 분들의 댓글처럼
스위칭 허브일 경우에는 패킷 스니퍼링이 어렵습니다.

그래서 요즘은 더미 패킷을 일순간에 왕창 뿌려서, 스위칭 허브를
마비시킨 후에 스니퍼링을 하는 기술을 사용한다고 합니다.

자세한 것은 스위칭 허브를 스니퍼링 할 수 있는 스니퍼 소스를
참고하시면 될 것 같군요.

댓글 달기

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
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.