default gateway 와 source IP

declspec의 이미지

리눅스상에서
RAW 소켓으로 소스 IP주소가 Spoof 된 UDP 패킷을
생성해서 뿌렸는데요

이게 이상하게
gateway 가 설정이 안되있으면
sendto 가 -1 을 리턴하고
route add default gw 192.168... 이런식으로
gateway 설정을 해주면 정상적으로
패킷이 발송되네요

어떻게 된걸까요?

shint의 이미지

어느 포트로 가야할지 몰라서 생기는 오류'라고 합니다.
WSAGetLastError() WSAEINVAL(10022)
http://cafe.naver.com/devart.cafe?iframe_url=/ArticleRead.nhn%3Farticleid=602&

----------------------------------------------------------------------------
젊음'은 모든것을 가능하게 만든다.

매일 1억명이 사용하는 프로그램을 함께 만들어보고 싶습니다.
정규 근로 시간을 지키는. 야근 없는 회사와 거래합니다.

각 분야별. 좋은 책'이나 사이트' 블로그' 링크 소개 받습니다. shintx@naver.com

익명 사용자의 이미지

errno 값을 출력해보시고, man sendto 의 에러부분을 보세요.
만약 잘 모르시겠다면

질문을 다음과 같이 수정해보세요:
"gateway 설정이 안되었을 때, sendto() 가 EBADF를 리턴합니다." => 여기서 EBADF 대신에 얻은 에러값을 넣어서

익명 사용자의 이미지

제가 너무 간단하게 생각한건가요?
당연히 안되는거 같은데요.. 목적지ip에 대한 라우팅 정보가 없기때문에 안나가는게 아닌지요?
혹시 출발지ip를 변조하기 전에는 패킷이 잘 나갔나요? (default gateway 설정 없이도.)

익명 사용자의 이미지

그래서 저도 이상하다고 생각해서 질문을 한겁니다
라우팅은 목적지 IP 만 가지고 할줄알고
출발지 IP 는 상관없을줄 알았는데

게이트웨이 설정이 안되어있으니
목적지 IP 가 같아도
출발지 IP 를 다른 네트워크로 주면 패킷이 안가고
출발지 IP 를 제대로 주면 패킷이 잘 가더군요;;

아무튼 errno 를 통해 자세히 알아보겠습니다
감사합니다

pak2536의 이미지

커널에서 수정할 때 보니, 패킷을 받을 때 라우팅 검사하는 코드가 있었습니다.
(spoof 된 출발지 주소를 식별하고 드롭하는 루틴이었음)

rp_filter 값을 0으로해보면.. 뭔가 나오지 않을까요?

raw 소켓은 써본적이 없어서..

보통은 dst 주소로 하지만 src 라우팅도 있고 하니 단정은 금물, 그리고 리눅스는 rfc를 참조해서 잘 만들어 놨기 때문에 해킹전에 rfc 를 참조하시는 것도 좋을 듯.. 검색 키워드 선정이 어렵겠네요 ㅎㅎ;

안되도 날 원망마세요!

댓글 달기

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