posted by 지니우스 2013. 9. 5. 15:55

리눅스 열린 포트 확인

Jmnote
리눅스 열린 포트 확인
리눅스 서버 LISTEN 중인 포트 확인
netstat, nmap

목차

  [숨기기

포트 확인

방법 1:netstat

명령어
netstat -an | grep "LISTEN "
실행예시
[root@jmnote ~]# netstat -an | grep "LISTEN "
tcp        0      0 0.0.0.0:3306                0.0.0.0:*                   LISTEN      
tcp        0      0 0.0.0.0:21                  0.0.0.0:*                   LISTEN      
tcp        0      0 :::80                       :::*                        LISTEN      
tcp        0      0 :::22                       :::*                        LISTEN
→ MySQL(3306), FTP(21), HTTP(80), SSH(22) 포트가 열려 있다.
→ 알 수 없는 포트가 열려 있다면 해킹을 의심해볼 수 있다.

방법 2: nmap

명령어
nmap localhost
실행예시
[root@jmnote ~]# nmap localhost
 
Starting Nmap 4.11 ( http://www.insecure.org/nmap/ ) at 2012-10-04 22:07 KST
Interesting ports on localhost.localdomain (127.0.0.1):
Not shown: 1675 closed ports
PORT     STATE SERVICE
21/tcp   open  ftp
22/tcp   open  ssh
25/tcp   open  smtp
80/tcp   open  http
443/tcp  open  https
3306/tcp open  mysql
 
Nmap finished: 1 IP address (1 host up) scanned in 0.110 seconds

포트와 프로세스 확인

명령어

netstat -anp | grep "LISTEN "

p 옵션을 더 붙이면 프로세스 정보도 볼 수 있다.

실행예시

[root@jmnote ~]# netstat -anp | grep "LISTEN "
tcp        0      0 0.0.0.0:3306                0.0.0.0:*                   LISTEN      5178/mysqld         
tcp        0      0 0.0.0.0:21                  0.0.0.0:*                   LISTEN      2649/vsftpd         
tcp        0      0 :::80                       :::*                        LISTEN      11646/httpd         
tcp        0      0 :::22                       :::*                        LISTEN      8154/sshd
→ 포트를 LISTEN 중인 프로세스까지 확인할 수 있다.
→ 3306 포트를 LISTEN 중인 프로세스는 mysqld이며 프로세스ID는 5178이다.

같이 보기



명령어[편집]

netstat -tnlp | grep -v 127.0.0.1 | sed 's/:::/0 /g' | sed 's/[:\/]/ /g' | awk '{print $5"\t"$10}' | sort -ug

실행예시[편집]

[root@zetawiki ~]# netstat -tnlp | grep -v 127.0.0.1 | sed 's/:::/0 /g' | sed 's/[:\/]/ /g' | awk '{print $5"\t"$10}' | sort -ug
21 vsftpd
22 sshd
80 httpd
443 httpd
3306 mysqld
8009 java 
8080 java


posted by 지니우스 2013. 8. 6. 14:08

python을 윈도우에서 테스트하기 위해 ActivePython을 설치하였다.

(http://www.activestate.com/activepython/downloads)

PC가 윈도우7 64비트이긴 하지만 그냥 32비트로 깔아보았다. 

설치후 python 실행해보니 인터프리터에서 아래와 같은 에러가 나타난다.


LookupError: unknown encoding: cp65001


얘는 또 뭐니...ㅡ..ㅡ.... 귀찮다... 구글링해본다

이러쿵 저러쿵 말 많은데 이게 눈에 띈다


chcp 1252


윈도우 커맨드에서 실행해봤다.


C:\Users\ckj>chcp 1252

Active code page: 1252


뭔가 바뀌긴 했나보다.. 다시 python 실행.. 잘된다.. 



참고URL: http://bugs.python.org/issue6058#msg88060


posted by 지니우스 2013. 3. 15. 15:39

윈도우 CMD 명령어 같은 경우는 알아두면 편리합니다. 텍스트 유저 인터페이스(TUI)기반으로 단순하지만 강력한 기능을 가지고 있습니다. 사실 명령어는 아주 많지만 기본적으로 자주 사용하는 명령어 몇 가지만 알고 있어도 충분하구요. 간단하게 몇 가지 정리해보겠습니다.

 윈도우 7 : 시작->프로그램 및 파일검색->CMD입력
                Shift + 마우스 우 클릭->여기서 명령 창 열기(바탕화면에서)
 윈도우 xp: 시작->실행->CMD입력


 [단축키]

 Tab : 자동완성
  F1  : 직전에 실행한 명령어를 한자씩 입력
  F3  : 직전에 실행한 명령어 전체를 입력
  F7  : 이전에 실행한 명령어 목록 보기

 
 [CMD의 글자색 변경]

 color [숫자] 
 (참고로 숫자는 16진수 0~F까지)


 [명령어]

 -시스템

 help : windows 명령어에 관한 도움말 제공

 cls : 화면의 내용을 지움

 dir : 디렉터리에 있는 파일과 하위 디렉터리 목록을 보여줌

 type : 텍스트 파일의 내용을 보여줌

 cd : 현재 디렉터리 이름을 보여 주거나 바꿀 수 있고 디렉터리로 이동

 md : 디렉터리를 생성

 copy : 한 개 이상의 파일을 다른 위치로 복사

 del : 한 개 이상의 파일을 지움

 rd : 디렉터리를 지움

 move : 파일을 다른 디렉터리로 이동

 tree : 디렉터리의 하위목록들을 그래픽 모드로 화면에 출력

 systeminfo : 컴퓨터의 속성 및 정보를 출력

 xcopy :  디렉토리 내의 파일 및 시스템 파일을 모두 복사

 shutdown : 시스템 종료

 calc : 계산기

 control : 제어판

 cmd : 도스 명령 프롬프트(커맨드) 실행

 explorer : 탐색기

 mstsc : 원격 데스크톱 연결

 notepad : 메모장

 mspaint : 그림판

 wordpad : 워드패드

- 네트워크

 ipconfig : ip 주소 출력

 nbtstat/netstat : 프로토콜 통계와 현재 연결을 표시

 net share : 공유된 리소스 보기

 nslookup : 호스트 조회

 pathping : 패킷속도 및 손실률

 ping : 네트워크 확인

 tracert : 네트워크 경로 추적




참고: http://boxbop.tistory.com/44


posted by 지니우스 2013. 3. 5. 15:11

쿼리앞에 explain 이라고만 붙여주면 된다.


조회되는 필드들의 의미는 엮인글을 참고. 매우 잘 정리해놓으셨굼.

posted by 지니우스 2012. 12. 2. 10:49


 

json2.js

 

 

<script type="text/javascript" src="/js/json2.js"></script>

 

...

 

 $(function() {

  $("#memNotiHtmlUpForm").ajaxForm({
   // 반환할 데이터의 타입. 'json'으로 하면 IE 에서만 제대로 동작하고 크롬, FF에서는 응답을 수신하지
   // 못하는 문제점을 발견하였다. dataType을 정의하지 않을 경우 기본 값은 null 이다.
   dataType : 'text',
   beforeSerialize: function() {
    //alert("beforeSerialize"); //##
    // form을 직렬화하기전 엘레먼트의 속성을 수정할 수도 있다. (hidden 값 세팅)
    //$('#data').attr('value', '야호');
   },
   beforeSubmit : function() {
    //alert("beforeSubmit ");
    //$('#result').html('uploading...');
   },
   success : function(data) {
    // 크롬, FF에서 반환되는 데이터(String)에는 pre 태그가 쌓여있으므로
    // 정규식으로 태그 제거. IE의 경우 정상적으로 값이 반환된다.
    data = data.replace(/[<][^>]*[>]/gi, '');
    var jData = JSON.parse(data);
    
    //파일 오브젝트 초기화 및 setting
    resultFileHtml(jData.fileYN, jData.upload_gb, jData.memberNotiUrl, jData.fileName);
    
    //파일 오브젝트 초기화
    resetFileHtml();
   },
   error : function(){
    alert("업로드 실패 되었습니다.");
   }
  });
 });
 

 

posted by 지니우스 2012. 12. 2. 10:22

 

Controller Class 에 정의하기

 

 

 import net.sf.json.JSONObject;

 

  ...

 
 @RequestMapping(value="/common/common_code.ms")
 public String commonCode(Map model, Locale locale, HttpServletRequest request, HttpServletResponse response) {

  ...


  JSONObject jObj = new JSONObject();

 

  /*목록 가져오기*/
  mwCmCodeExample = new MwCmCodeExample();
  mwCmCodeExample.or().andGrpCodeEqualTo(grpCode);
  mwCmCodeList = mwCmCodeService.getByExample(mwCmCodeExample);


  Iterator<MwCmCode> it = mwCmCodeList.iterator();
  while(it.hasNext()) {
   MwCmCode one = it.next();
   jObj.put(one.getComCd(), one.getComCdVal());
  }

 

  /* SET ATTRIBUTEs */
  request.setAttribute("mwCmCodeList", mwCmCodeList);
  request.setAttribute("JSONObject", jObj);

  return "/common/result_page";
 }

 


 

 

result_page.jsp

 

 

<%@ page language="java" contentType="text/html; charset=EUC-KR" pageEncoding="EUC-KR"%>
${JSONObject}

 

 

 

 

 

js에서 정의하기

 

function setComboCode(objNm, code, allYn, selCode) {
 var x = setComboInit(objNm, allYn);
 if(selCode==undefined) selCode="";

 //SERVER CALL
 var paramData = {grpCode:code};
 $.ajax({
     type: 'GET',
     url: '/common/common_code.ms',
     async: false,    //화면(jsp) 로딩시 호출되는 function은 async true로 하면 정상 로딩 안되는 경우가 생김
     data: paramData,
     dataType: 'json',
     success: function(data) {
   var i = 1;
   $.each(data, function(key, val) {
    addOption(x,key,key+'::'+val);
    if(selCode==key) x.selectedIndex = i;
    i++;
   });
     }
 })
 .success(successCombo(x))
 .error(errorCombo(x))
 .complete(completeCombo(x));
}

 

function setComboInit(objNm, allYn) {
 var x = document.getElementById(objNm);
 clearOption(x);
 // "전체" 조회조건 있을경우
 if(allYn == "Y") {
  addOption(x,"%","전체");
 } else {
  addOption(x,"","= 선택하세요 =");
 }
 return x;
}

 

function successCombo(obj) {
 //alert("콤보가 정상적으로 호출되었습니다. 콤보호출후 수행될 successCombo(obj) 함수를 정의해주세요.");
}

function errorCombo(obj) {
 //alert("콤보 호출시 에러가 발생하였습니다. 콤보호출후 수행될 errorCombo(obj) 함수를 정의해주세요.");
}

function completeCombo(obj) {
 //alert("콤보 호출이 완료되었습니다. 콤보호출후 수행될 completeCombo(obj) 함수를 정의해주세요.");
}

 

 

jsp에서 사용하기

 

 


 <script type="text/javascript">
 
 /**
  * 페이지 로딩시 최초 실행
  */
 window.onload = function() {
  //// 초기화 /////////////////////////////////////////
  // 공통코드
  setComboCode('codeSel','0002','Y','02'); 

 }

 </script>

 

 ...

 

 <select id="codeSel"></select>

 

 

posted by 지니우스 2012. 7. 1. 20:22

ASP => Request.ServerVariables("HTTP_REFERER")
PHP => $_SERVER['HTTP_REFERER']
JSP => request.getHeader("REFERER")

posted by 지니우스 2012. 6. 18. 21:13

SQL> var idenno varchar2(20)
SQL>
SQL> begin
SQL> :idenno := '00001ADEED13DC6C';
SQL> end;
SQL> /

PL/SQL procedure successfully completed.

SQL>
SQL> select * from ITSMEMEMBERINFOTT where iden_no = :idenno;

 

posted by 지니우스 2011. 10. 2. 20:13
주석 상단에 회사명 입력하기
- terminal open & input
$ defaults write com.apple.Xcode PBXCustomTemplateMacroDefinitions '{ "ORGANIZATIONNAME" = "greatpirate.kr";}' 
posted by 지니우스 2011. 7. 6. 10:39

실무에 적용해도 큰 무리없을 유용한 로직
http://stylekai.tistory.com/204


각종 글들을 참고해서 작성해본 테스트 프로그램 3종 세트



JAI API library