728x90

Netcat(ornc)은 TCP 또는 UDP 프로토콜을 사용하여 네트워크 연결을 통해 데이터를 읽고 쓰는 명령줄 유틸리티입니다. 네트워크 및 시스템 관리자 무기고에서 가장 강력한 도구 중 하나이며, 네트워킹 툴의 스위스 군용 칼이라고 할 수 있습니다. 

Netcat은 교차 플랫폼이며 리눅스, MacOS, 윈도우즈 및 BSD에서 사용할 수 있습니다. Netcat을 사용하여 네트워크 연결을 디버그 및 모니터링하고, 열린 포트를 검사하고, 데이터를 전송하고, 프록시로 사용하는 등의 작업을 수행할 수 있습니다. 

Netcat 패키지는 MacOS 및 Ubuntu, Debian 또는 CentOS와 같은 널리 사용되는 Linux 배포에 미리 설치되어 있습니다.

 

Linux : Netcat (nc) 명령어, 사용 방법, 예제

Netcat 구문

Netcat 유틸리티의 가장 기본적인 구문은 다음과 같습니다.

nc [options] host port

 

Ubuntu에서는 netcat 또는 nc를 사용할 수 있습니다. 둘 다 openBSD 버전에 대한 symilinks입니다.

기본적으로 Netcat은 지정된 호스트 및 포트에 대한 TCP 연결을 시작합니다. UDP 연결을 설정하려면 -u 옵션을 사용합니다.

nc -u host port

포트 검색

포트 검색은 Netcat의 가장 일반적인 용도 중 하나입니다. 단일 포트 또는 포트 범위를 검색할 수 있습니다.

예를 들어 20-80 범위의 열린 포트를 검색하려면 다음 명령을 사용합니다.

nc -z -v 10.10.8.8 20-80

# nc: connect to 10.10.8.8 port 20 (tcp) failed: Connection refused
# nc: connect to 10.10.8.8 port 21 (tcp) failed: Connection refused
# Connection to 10.10.8.8 22 port [tcp/ssh] succeeded!
# nc: connect to 10.10.8.8 port 23 (tcp) failed: Connection refused
# ...
# nc: connect to 10.10.8.8 port 79 (tcp) failed: Connection refused
# Connection to 10.10.8.8 80 port [tcp/http] succeeded!

 

-z 옵션은 nc에 데이터를 보내지 않고 열린 포트만 검색하도록 지시하고 -v 옵션은 보다 자세한 정보를 제공합니다.

열린 포트가 있는 라인만 인쇄하려는 경우 grep 명령을 사용하여 결과를 필터링할 수 있습니다.

nc -z -v 10.10.8.8 20-80 2>&1 | grep succeeded

# Connection to 10.10.8.8 22 port [tcp/ssh] succeeded!
# Connection to 10.10.8.8 80 port [tcp/http] succeeded!

 

Netcat을 사용하여 서버 소프트웨어 및 해당 버전을 찾을 수도 있습니다. 예를 들어 "EX"를 보내는 경우입니다. IT" 명령은 기본 SSH 포트 22에서 서버에 전달됩니다.

echo "EXIT" | nc 10.10.8.8 22

# SSH-2.0-OpenSSH_7.6p1 Ubuntu-4
# Protocol mismatch.

 

UDP 포트를 검색하려면 아래 나온 것처럼 명령에 -u 옵션을 추가하면 됩니다.

nc -z -v -u 10.10.8.8 20-80

 

일반적으로 Nmap은 Netcat보다 복잡한 포트 검색에 더 적합한 도구입니다.

 

출처 : https://jjeongil.tistory.com/1600 

반응형
728x90

기본 사항

  • 포스팅 설명을 위해 Tomcat설치 경로는 아래에 명시된 경로로 가정하고 이하 TOMCAT_HOME으로 명시
    /engn001/tomcat/9.0/servers/ist_8180
    

catalina.sh

  • Catalina.out 파일 생성 설정은 catalina.sh에 있고 경로는 다음과 같음
    TOMCATHOME/bin/catalina.sh
    

관리방법1: Catalina.out 제거

  • 첫번째 관리 방법으로 catalina.sh 파일에서 Catalina.out 생성 부분을 수정하여 Catalina.out 파일 생성을 중지함.
  • 수정 전
    • TOMCAT_HOME/logs에 Catalina.out 생성
        if [ -z "$CATALINA_OUT" ] ; then
       CATALINA_OUT="$CATALINA_BASE"/logs/catalina.out
        fi
      
  • 수정 후
    • catalina.out 생성 경로에 /dev/null 설정하여 생성을 차단
        if [ -z "$CATALINA_OUT" ] ; then
       CATALINA_OUT=/dev/null
        fi
      

관리방법2: Rolling Catalina.out

  • 두번째 방법은 OS의 기능을 활용하여 Catalina.out 파일을 Rolling 할 수 있음.
  • 설정 프로세스는 아래와 같음
    1. tomcat 파일 생성
      • 디렉토리 이동 및 파일 생성
      • [root@ ]# cd /etc/logrotate.d/
        [root@ logrotate.d]# vi tomcat
        
      • tomcat 파일 내부 스크립트 내용
      •  /logs001/tomcat/9.0/ist_8180/server.log { // Catalina.out 로그파일 경로
         copytruncate                              // 기존 파일 백업 및 삭제
         daily                                     // 로그파일을 날짜별로 Rolling
         rotate 30                                 // 최대 30일까지만 생성
         compress                                  // 로그파일 gzip 압축
         missingok                                 // 로그파일 부재시 무시함
         notifempty                                // 로그파일 부재시 신규 생성 하지 않음
         dateext                                   // 순환된 로그파일 날짜 확장자
        }
        
    2. crontab에 tomcat 파일 등록
    • 파일 열기
        [root@ logrotate.d]# vi /etc/crontab
      
    • crontab 작성
    •   SHELL=/bin/bash
        PATH=/sbin:/bin:/usr/sbin:/usr/bin
        MAILTO=root
              
        # For details see man 4 crontabs
              
        # Example of job definition:
        # .---------------- minute (0 - 59)
        # |  .------------- hour (0 - 23)
        # |  |  .---------- day of month (1 - 31)
        # |  |  |  .------- month (1 - 12) OR jan,feb,mar,apr ...
        # |  |  |  |  .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
        # |  |  |  |  |
        # *  *  *  *  * user-name  command to be executed
          0  0  *  *  *  root run-parts/etc/cron.daily
      
    1. 처리 프로세스
      • Rolling 수행 프로세스는 먼저 /etc/crontab 스케쥴 동작 이 설정된 시간에 맞춰 일어나고 다음으로 /etc/logrotate.conf 실행 > /etc/logrotate.d 참조 및 최종적으로 tomcat 스크립트가 실행 됨
    2. 검증 방법
      • 아래 스크립트를 수동 실행하여 설정이 잘 동작 하는지 확인
         /usr/sbin/logrotate -f/etc/logrotate.conf
    3. 생성 결과 확인
      • 기존 Catalina.out은 압축되고 신규로 Catalina.out 파일 생성 확인
         etc-user etc-user 0 Feb  3 07:34 Catalina.out
         etc-user etc-user 101491 Feb  3 07:03 Catalina.out-20200203.gz
      
    • 더불어 vi /var/log/cron 로그를 확인 하면 아래와 같이 설정된 스케쥴 시점에 cron.daily 실행 로그를 확인 할 수 있음
    •   Feb  4 00:40:01  CROND[5713]: (root) CMD (run-parts /etc/cron.daily)
        Feb  4 00:40:01  run-parts(/etc/cron.daily)[5713]: starting logrotate
        Feb  4 00:40:01  run-parts(/etc/cron.daily)[5723]: finished logrotate
        Feb  4 00:40:01  run-parts(/etc/cron.daily)[5713]: starting man-db.cron
        Feb  4 00:40:02  run-parts(/etc/cron.daily)[5736]: finished man-db.cron
        Feb  4 00:40:02  run-parts(/etc/cron.daily)[5713]: starting mlocate
        Feb  4 00:40:02  run-parts(/etc/cron.daily)[5747]: finished mlocate
      

Appendix: catalina.YYYY.MM-DD.log 제거

  • Tomcat은 Catalina.out 파일과 더불어 catalina.YYYY.MM-DD.log 형태의 로그가 생성 됨.
  • 해당 로그는 1일 단위로 Rolling되지만 Tomcat에서 생성하는 로그 외에 응용로그(log4j2, logback)은 기록하지 못하므로 활용성이 낮음
  • 아래 경로에 존재하는 logging.properties 파일을 삭제하여 생성을 막음.
    • 경로1: 별도의 인스턴스 구분 없는 경우
    •  
    • TOMCAT_HOME/conf/logging.properties
      
    • 경로2: 별도의 인스턴스를 사용하는 경우(인스턴스 경로가 TOMCAT_HOME/servers/ist_8180/ 인 경우)
    • TOMCAT_HOME/servers/ist_8180/conf/logging.properties
      

참고 자료

logrotate.d 설정 및 cron 로그 확인: https://055055.tistory.com/6

반응형
728x90

출처: https://dvvbzz.tistory.com/207 [.·´″˚☆꿈꾸는새벽별´″˚☆:티스토리]

 

후나쓰필터링

 

게일하워드 비법
게일하워드 비법의 요지는 다음과 같다. 우선 당첨번호 6자리를 합친 숫자의 70%가 1백6에서 1백70 사이에 있고 당첨

된 6개 숫자 중 1개는 바로 직전 회차 추첨에서 당첨된 숫자다. 평균적으로 당첨숫자 중 적어도 1개는 지난 10회 동안

한 번도 당첨되지 않은 숫자며 나머지 숫자는 지난 10회 추점 동안 당첨됐던 숫자라는 것이다.


회차합 공식
이런 것을 이론적으로 정립한 것이 회차합 공식이다. 전 2회와 3회차에 나왔던 번호 12∼15개를 뽑으며 그 중 3∼4개

정도는 현재 회차에 다시 출현할 가능성이 크다는 것이 실제 국내 로또에서도 입증됐다. 로또 번호를 선택하는 것이

복잡하다면 단순하게 이런 방법을 택해 보는 것도 좋다

회귀설공식
회귀설이란 특정 회차 전에 나온 당첨번호들이 이번 회차에 출현한다는 가설이다. 5회전, 6회전, 10회전 회귀설이 가

장 높은 적중률을 보이는 것으로 나타났으며 회차합과 회귀설을 함께 사용함으로써 약점을 메울 수도 있다.

제외수
 간단한 제외수 공식은 전회차에 나온 번호에 특정 숫자를 더하거나 빼는 등의 방법을 이용하는 것이다. 예를 들어 30

회 현재 회차번호 +4와 전회차 2번째 번호 +7, 전회차 3번째 번호 +5, 전회차 5번째 번호 -8, 전회째 5번째 번호 -9

등은 다음회에 단 한 번도 나오지 않은 적중률 1백%의 번호들이다.

 

그밖에 짝홀, 고저패턴에 의한 분석, AC값과 포아송 분석에 의한 필터링 등 고도의 수학적 분석기법이 동원되기도 한

다.

 

반응형

+ Recent posts