소켓프로그래밍하다가 궁금증...

ero의 이미지

팻킷을 보낼때 상대방의 ip정보는
sockaddr_in 에 저장되는걸로 알고 있는데

자신의 ip정보는 어디에 저장이나요?
자신의 ip정보를 불러워서 수정할려면 어떤 함수를 불러와야 되는지.....

hie의 이미지

먼저 네트웍 커널의 전반적인 내용 학습을 권하고 싶습니다.

어떤 이유에서인지 모르겠지만.. 굳이 자신의 IP를 바꾸겠다면
RAW Socket에 관련된 문서를 찾아 정독하시기 바랍니다.

참고로 IPTables를 이용해도 됩니다.

즐프하세요~~

kuaaan의 이미지

Source측의 IP주소는 TCP 헤더에 저장됩니다.
이걸 바꾸려면 Raw Socket을 사용해야 할 것으로 생각됩니다만...
요즘엔 IP Spoofing을 차단하기 위해 라우터에 Source Rounting이란 기능이탑재되어
Source IP가 엉뚱한 IP가 되면 라우터에서 차단되어버릴수도 있습니다.
참고하세요.

----------------------------------------------
한번뿐인 인생....
미친듯이 살아보자!
----------------------------------------------

superkkt의 이미지

kuaaan wrote:
Source측의 IP주소는 TCP 헤더에 저장됩니다.
이걸 바꾸려면 Raw Socket을 사용해야 할 것으로 생각됩니다만...
요즘엔 IP Spoofing을 차단하기 위해 라우터에 Source Rounting이란 기능이탑재되어
Source IP가 엉뚱한 IP가 되면 라우터에서 차단되어버릴수도 있습니다.
참고하세요.

Source Rounting에 대해서 좀 더 자세한 내용을 알 수 있을까요? 검색에서는 마땅한 결과가 안나오네요.

라우터가 해당 패킷이 어디서부터 오는지 확인을해서 라우팅 경로와 비교하고 올바른 IP가 아니라면 차단하는건가요? 흠.. 궁금하네요..

======================
BLOG : http://superkkt.com

ero의 이미지

hie wrote:
먼저 네트웍 커널의 전반적인 내용 학습을 권하고 싶습니다.

어떤 이유에서인지 모르겠지만.. 굳이 자신의 IP를 바꾸겠다면
RAW Socket에 관련된 문서를 찾아 정독하시기 바랍니다.

참고로 IPTables를 이용해도 됩니다.

즐프하세요~~

보안 공부중인데 우연히 IP와 Mac address를 바꿔서 스니핑과 터미널 접속하는 프로그램을 봤습니다...
IP와 Macaddress가 바꼈는데도 터미널 접속이(Lan 환경) 되는걸 보고
깜짝놀랐지요....ㅋ 그래서 공부열심히해서 구현해볼려구여
제가 가지고 있는 책에는 Source 부분을 변경하는 방법이 업더군요
Raw Socket을 다루는 리눅스/유닉스용 프로그래밍 책은 없나요??
추천 좀 해주세요~

superkkt의 이미지

yisuyong wrote:
hie wrote:
먼저 네트웍 커널의 전반적인 내용 학습을 권하고 싶습니다.

어떤 이유에서인지 모르겠지만.. 굳이 자신의 IP를 바꾸겠다면
RAW Socket에 관련된 문서를 찾아 정독하시기 바랍니다.

참고로 IPTables를 이용해도 됩니다.

즐프하세요~~

보안 공부중인데 우연히 IP와 Mac address를 바꿔서 스니핑과 터미널 접속하는 프로그램을 봤습니다...
IP와 Macaddress가 바꼈는데도 터미널 접속이(Lan 환경) 되는걸 보고
깜짝놀랐지요....ㅋ 그래서 공부열심히해서 구현해볼려구여
제가 가지고 있는 책에는 Source 부분을 변경하는 방법이 업더군요
Raw Socket을 다루는 리눅스/유닉스용 프로그래밍 책은 없나요??
추천 좀 해주세요~

UNIX NETWORK PROGRAMMING VOL.1 (W.RICHARD STEVENS)

======================
BLOG : http://superkkt.com

wariua의 이미지

superkkt wrote:
kuaaan wrote:
Source측의 IP주소는 TCP 헤더에 저장됩니다.
이걸 바꾸려면 Raw Socket을 사용해야 할 것으로 생각됩니다만...
요즘엔 IP Spoofing을 차단하기 위해 라우터에 Source Rounting이란 기능이탑재되어
Source IP가 엉뚱한 IP가 되면 라우터에서 차단되어버릴수도 있습니다.
참고하세요.

Source Rounting에 대해서 좀 더 자세한 내용을 알 수 있을까요? 검색에서는 마땅한 결과가 안나오네요.

라우터가 해당 패킷이 어디서부터 오는지 확인을해서 라우팅 경로와 비교하고 올바른 IP가 아니라면 차단하는건가요? 흠.. 궁금하네요..


저는 source address validation이라는 용어로 들은 적이 있습니다. source address assurance라는 용어도 많이 사용하나봅니다. DDoS 내지는 spoofing 방지를 위한 기능이며, 두 용어로 검색해 보시면 몇몇 문서들이 나옵니다. RFC2827RFC3704가 해당 내용에 대한 RFC 문서입니다. (RFC 문서들도 번역이 되어있으면 참 좋겠다는 생각이 다시 드네요...)

그리고 "source routing"은 보통 다른 의미로 많이 쓰이는 듯 합니다.

source address assurance의 기본적인 메커니즘은 말씀하신 대로입니다.

$PWD `date`

kuaaan의 이미지

wariua wrote:
superkkt wrote:
kuaaan wrote:
Source측의 IP주소는 TCP 헤더에 저장됩니다.
이걸 바꾸려면 Raw Socket을 사용해야 할 것으로 생각됩니다만...
요즘엔 IP Spoofing을 차단하기 위해 라우터에 Source Rounting이란 기능이탑재되어
Source IP가 엉뚱한 IP가 되면 라우터에서 차단되어버릴수도 있습니다.
참고하세요.

Source Rounting에 대해서 좀 더 자세한 내용을 알 수 있을까요? 검색에서는 마땅한 결과가 안나오네요.

라우터가 해당 패킷이 어디서부터 오는지 확인을해서 라우팅 경로와 비교하고 올바른 IP가 아니라면 차단하는건가요? 흠.. 궁금하네요..


저는 source address validation이라는 용어로 들은 적이 있습니다. source address assurance라는 용어도 많이 사용하나봅니다. DDoS 내지는 spoofing 방지를 위한 기능이며, 두 용어로 검색해 보시면 몇몇 문서들이 나옵니다. RFC2827RFC3704가 해당 내용에 대한 RFC 문서입니다. (RFC 문서들도 번역이 되어있으면 참 좋겠다는 생각이 다시 드네요...)

그리고 "source routing"은 보통 다른 의미로 많이 쓰이는 듯 합니다.

source address assurance의 기본적인 메커니즘은 말씀하신 대로입니다.


저는 예전에... 네트워크 관리하는 사람한테 들었던 기억으로 쓴 글인데요...
저도 찾아보니... 소스 라우팅은 의미가 좀 다른것 같더군요.
그래서 우리부서의 네트워크 관리하던 사람한테 물어봤습니다.
"소스 라우팅이 스푸핑기술이야 스푸핑 방어기술이야?"
"해킹 방어기술이지!"
...
용어들이 좀 다른 의미로 많이 쓰이는 것 같습니다.... ^^

----------------------------------------------
한번뿐인 인생....
미친듯이 살아보자!
----------------------------------------------

댓글 달기

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