조성호님 질문좀 드려도 될까요 ?

익명 사용자의 이미지

조성호님 안녕하세요

dummy에 관한 질문을 한 궁금이 입니다.

저 기억 하실지 모르시겠네요

오늘은 그냥 간단한 소켓에 관한 질문좀 하려고 합니다.

제가 java로 간단한 소켓 통신 포트 접속 하는 소스를 몇줄 짜봤는데

이상하게도 접속 오류가 나오네요

음 그래서 결론을 내린 결과 모랄까 ? 컴파일상의 오류는 없었습니다.

그런데 서버의 특정 포트를 막아놓았는지 접속 오류가 나오네요

그래서 다른 포트로 소스를 또 짜서 컴파일 해봤습니다.

그런데 오류 없이 접속이 잘 되었는데

참고로 서버는 서울 대학교 서버구요

일단 echo 포트 7 번으로 접속 하는 소스는 1번입니다.

그리고 DayTime 포트는 13번이라고 알고 있는데 ... 그것의 소스는 2번입
니다.

실력이 없어서 간단히 짜봤는데요

혹시 보시구요 소스상의 오류는 없는듯 합니다.

--------------------------------1번 소스----------------------------

import java.io.*;
import java.net.*;
public class EchoPortTest {
public static void main(String[] args) throws Exception {
String temp;
BufferedReader stdin = new BufferedReader(new
InputStreamReader(System.in));
Socket socket = new Socket("www.snu.ac.kr", 7);
BufferedReader br = new BufferedReader(new
InputStreamReader(socket.getInputStream()));
PrintWriter pw = new PrintWriter
(socket.getOutputStream(), true);
System.out.print("\nInput Echo");
while((temp = stdin.readLine()) != null) {
pw.println(temp);
System.out.print("echo " + br.readLine
() +"\nInput Echo");
}
br.close();
pw.close();
socket.close();
}
}

----------------------- 2번 소스 ----------------------------------

import java.io.*;

import java.net.*;

public class DayTimePortTest{

public static void main(String[] args)throws Exception{

Socket socket = new Socket("www.snu.ac.kr", 13);

BufferedReader socketln = new BufferedReader(new
InputStreamReader(socket.getInputStream());

String temp="";

while((temp=soketln.readLine())!=null)

System.out.println("DayTime" + temp);

socketln.close();

socket.close();

}
}

위에서 보신거 처럼 13번 포트인 DayTime 포트는 이상 없이

소켓 접속을 해서 i/o 스트림 작업을 할수 있었는데

1번 소스의 7번 포트로 소켓 접속을 할 경우 i/o 스트림 작업을 할수가
없네요

음 저의 작은 생각으론 7번 포트가 그렇게 중요한 포트가 아닐듯한데

그러면 이런 7번 포트를 막아놓은것인지 궁금합니다.

혹시 예를 들어 21번과 23번 25번 80번 같은 포트는 개방 포트로

혹시 설정 하지 않을까요 ? 포트를 개방한다는것은 도스 공격의

온상이 된다고 메뉴얼에서 읽은적이 있는데

이런경우 이상한것은 왜

7번은 막았놓았으면서 13번은 개방을 해놓았는지 궁금합니다.

더 죄송한 것은 이런 작은 작업을 실험해 보고 싶은 서버를

제가 자신의 서버로 구하지 않는다면

이런 예제 소스를 짜서 그것을 돌려볼 서버는 없을런지 궁금합니다.

그냥 조성호님께 뿐이 여쭤볼수 없어서 죄송하구요

정말 다시 한번 죄송합니다.

리플좀 부탁드릴께요

익명 사용자의 이미지

저도 자세히는 모릅니다만...
말씀하신 부분에 답이 있습니다.
사실 21, 23, 80번 같은 포트는 어찌보면 DoS의 주 공격대상이 되기도
합니다만 저 포트들로 접근은 될 수 있으면 안합니다.
이유는 로그가 남기때문에 잘못하면 큰일나거든요.
다른 이유로는 상기포트들은 잘 알려져있는 포트들이고 그렇기 때문에 많은
공격과 방어가 이루어짐으로 인해서 지금도 어딘가에 공백은 있지만 왠만하
면 뚤리지 않을 정도가 되었기 때문에 공격을 잘 안합니다.
글 내용중 7번과 13번을 연습하셨는데 사실 왠만한 서버들은 7번과 13번
모두 막아 놓는 형편입니다. echo나 DayTime에 대한 구멍도 벌써 알려
져있기때문에 사실상 두 포트도 주 공격대상이 되기때문이죠.
(좀더 많은 지식은 Security PLUS for UNIX라는 포항공대에서 글을쓴
책에보시면 있을겁니다.)

하지만 걱정마십시요. 네트워크가 연결되어있지 않아도 LINUX에서는 네트
워크를 공부할 수 있거든요.
서버를 자기자신으로 하면 됩니다. 즉, 서버 IP를 넣는곳에 127.0.0.1을
넣으면 됩니다.
물론 자신의 시스템에 서버프로그램을 띄워놓고 클라이언트 프로그램을 동작
시켜도 잘 작동합니다.
물론 이렇게 만들어진 프로그램을 그냥 배포하는 일은 없어야겠죠. -)
왜냐하면 자신의 시스템에서 자기자신으로 연결되는것은 빠르기때문에 많은
종류의 오류를 빗겨 갈 수도 있기 때문이죠.
하지만 기초적인 디버깅 작업만 완전하다면 인터넷에 연결되어있어도 오류가
발생할 일은 거의 없다고 보아도 무방합니다.

질문에 답변이 되었는지 모르겠군요.

익명 사용자의 이미지

loopback을 생각을 못했네요

ㅠㅠ 너무 죄송합니다. 그저 조성호님께서

저번에 관리자 가이드에 관해서 dummy에 관한 궁금한 부분을

잘 설명해주셔서 ..... 너무나 감사했습니다.

아직 학생이라서 궁금한것도 많고 나름대로 혼자서

공부를 하고 있지만 정말 궁금한 부분은 조성호 님께

간혹 질문을 드리겠습니다. 혹시 일 하시거나 아님 다른

공부 하시는데 정말 방해가 된다면 정말 죄송합니다.

제 나름대로 열심히 해보고 정말 모르는 부분만을

추려서 여쭤보겠습니다.

다시 한번 감사드립니다. 그리고 loopback이 있다는

것도 알고 있었으면 이렇게 까먹고 있던 제가

참 바보 같다는 생각이 저절로 듭니다.

마지막으로 조성호님께서 저번에 늘 꾸준히 공부 하라고

하신 말씀 다시 한번 잊지 않고 열심히 해볼께요

그럼 편한한 하루 보내세요

이만 가보겠습니다.

공부하는 학생입니다.

댓글 달기

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