2015년 8월 11일 화요일

리눅스 netstat 현재 접속 된 나라 확인.

#!/bin/bash

kisa_key="111111111111111111111";


IPLIST=`netstat -ant |grep "tcp" | awk '{print $5}' | cut -d: -f1 | sort | uniq`

for ip in $IPLIST
do
case "$ip" in
"0.0.0.0"|"127.0.0.1"|"8.8.8.8")
continue;;
*)
return_tmp_xml=`curl -s "http://whois.kisa.or.kr/openapi/ipascc.jsp?key=$kisa_key&query=$ip&answer=xml"`
countryCode=$(grep -oP "(?<=<countryCode>)[^<]+" <<< "$return_tmp_xml")
echo $ip : $countryCode
esac
done

예전에 위와 같이 KISA WHOIS 를 가지고 현재 접속된 나라를 찾았었는데,

geoiplookup 란 명령어가 있었다.

 

geoiplookup 명령어를 사용하려면 YUM 설치 하면 됨.

yum install GeoIP GeoIP-data

 

아래 처럼 하면 KISA KEY 받을 필요도 없고 좋다.
다만 몇몇개 IP는 'IP Address not found' 가 나온다.
#!/bin/bash



IPLIST=`netstat -ant |grep "tcp" | awk '{print $5}' | cut -d: -f1 | sort | uniq`

for ip in $IPLIST
do
case "$ip" in
"0.0.0.0"|"127.0.0.1"|"8.8.8.8")
continue;;
*)
geoiplookup $ip
esac
done

 

 

count 기능을 추가. 해당 아이피가 몇개가 접속해 있는 지 파악. (최종)
#!/bin/bash

#v2
#netstat -ant |grep "tcp" | awk '{print $5}' | cut -d: -f1 | grep -v "^$" | grep -v "0.0.0.0" | sort | uniq -c
netstat -ant |grep "tcp" | awk '{print $5}' | cut -d: -f1 | grep -v "^$" | grep -v "0.0.0.0" | grep -v "127.0.0.1" | sort | uniq -c > output.txt
while read -r line; do
count=$(echo $line | cut -f1 -d " ");
ip=$(echo $line | cut -f2 -d " ");
echo "count: $count, $ip : $(geoiplookup $ip)";
done < output.txt;
rm -rf output.txt

[root@mail foreignIp]# sh netstatIpCountryV2.sh 
count: 1, 108.168.211.204 : GeoIP Country Edition: IP Address not found
count: 1, 109.66.88.75 : GeoIP Country Edition: IP Address not found
count: 1, 112.173.207.169 : GeoIP Country Edition: IP Address not found
count: 3, 112.175.145.4 : GeoIP Country Edition: IP Address not found
count: 3, 112.221.136.253 : GeoIP Country Edition: IP Address not found
count: 1, 113.172.120.40 : GeoIP Country Edition: VN, Vietnam
...

 

참고

2015년 8월 7일 금요일

at least one shared directory is not a valid local path filezilla

filezilla server 설치 후 디렉토리 설정시

"at least one shared directory is not a valid local path" 라는 메시지가 나오며 적용되지 않는다.

 

서비스에서 Application Layer Gateway Service를 실행해주면 잘 된다.

 

출처

2015년 7월 17일 금요일

hpacucli 설치법

URL은 여기 or 여기

1. '제품별로 찾기'에 서버 모델명 넣자. (예: DL160 G8)

1

 

 

 

 

 

 

 

 

2. 검색 결과에서 내 서버 선택. DL160 Gen8 선택 -> HP ProLiant DL160 Gen8 서버 선택

2

 

 

 

 

 

 

3. 운영체제를 CentOs 설치하면 없다. RedHat으로 선택 하자.
4. 소프트웨어 - 시스템관리 카테고리에 보면 hpacucli-9.40-12.0.x86_64.rpm 있다.

3

 

 

 

 

 
다운로드 후 서버에 업로드
5. rpm -Uvh hpacucli-9.40-12.0.x86_64.rpm
---------------------------------------------
DOWNGRADE NOTE: To downgrade this application to any version prior to 9.10.x.x, the current RPM must be manually uninstalled using the "rpm -e" command before any prior versions can be installed.

LOCKING NOTE: The locking mechanism starting with versions 9.10.X.X, are not compatible with prior versions of the applications. Therefore, mixing older and newer versions of the various applications (ACU, HPACUCLI, HPACUSCRIPTING) is not recommended.
---------------------------------------------

요런 메시지 나오는 데, 그냥 무시.

6. #hpacucli 명령어가 나온다면 정상적으로 설치.
사용법은 각자 알아서.
아니면 여기.

2015년 6월 23일 화요일

자동차 명의 이전 온라인으로 처리하기.

자동차 명의 이전! 온라인으로 쉽게 하는 방법
[출처] 자동차 명의 이전! 온라인으로 쉽게 하는 방법|작성자 아트라스BX 박대리


이라는 블로그 글을 보고, 온라인으로 명의 이전을 시도~
결론부터 말하면 제 명에 살고 싶은 않은 사람만 추천~


블로그 글에는 존나 간단하게 적어 놨는데, ㅅㅂ 직접 해보다 돌아 버리는 줄 알았다.


 
그 순서를 적어보면 다음과 같다.
0. 나는 양수인이기 때문에, 양도인이 이전에 신청 의뢰를 해 놓은 상태.


1. www.ecar.go.kr을 익스플로러에서 들어간다.
들어가서 activX 설치 도중 빡치지 말고 아래 사항을 미리 설정 하자.
(사이트 이용문의에 전화해서 안내 받은 사항이다.)
1. 모든 툴바 삭제. (이 뭐 병…)
2. 도구 -> 호환성 보기 설정에 ecar 추가
3. 도구 -> 인터넷 옵션 -> 보안 탭, 신뢰 할 수 있는 사이트에 ecar 추가
4. 신뢰할 수 있는 사이트의 영역 수준을 낮음 으로 설정.
5. 고급 탭 -> 보안(중간에서 약간 아래) -> 내 컴퓨터에 있는 파일에서 액티브 콘텐츠가 실행되는 것을 허용
정부에서 좀비PC 를 양성중인가 보다…


2. 메인에 이전등록신청을 클릭. 공인인증서로 로그인.
(1번의 설정을 안 했다면 여기서 ezPDFMg 라는 ActivX를 설치 하는데, 실행이 안 될 것임.)
4. 양도인께서 입력한 정보가 나오고 내 정보가 간단히 들어가 있는데, 나머지 * 표시 부분을 채우자.
5. 구비서류 부분에 보면 구비서류확인이 버튼이 있는데, 이걸 클릭하면 4개의 서류가 나오는 데,
주민등록등본 (이건 무조건 OK)
양도증명서 (양도인 한테 받아 놓는 게 좋음) 서류 첨부
전자수입인지 납부확인증 (이거 헬게이트..)
의무보험 가입증명서 ( 보험에 가입하였다면 자동 OK)
6. 양도증명서 같은 경우 사이트에 양식이 있으니 해당 양식대로 양도인이 적어 보내 주면 내 사항 추가하고, 스캔하고 pdf로 변환.
7. 전자수입인지 납부확인증은 http://www.e-revenuestamp.or.kr/에서 살 수 있다.
( 이 사이트에서 인지를 사려면 무조건 yessign 에서 발급한 인증서가 있어야 한다.)
8. 인지 구매후 프린터로 출력, 출력물을 다시 스캔. 스캔본을 PDF로 만들기 (4번 항목의 페이지에서 변환 프로그램 다운로드 가능)
9. 양도증명서와 전자수입인지 스캔본을 PDF로 만들었다면 2번 부터 다시 시작.
10. 이 다음 부터는 문제 없었음.
결국은 3일만에 처리…


진짜 심플하게 적은 거다.


ActiveX 설치 약 14개
사이트 문의 하기 1번
익스를 다 죽이고 다시 실행하기를 3번
툴바 프로그램 삭제 1번
공인인증서 발급 1번


아래의 준비물이 없다면 시도 조차 하지 마시길…


준비물
스캐너, 프린터, yessign 공인인증서,
무엇보다 중요한 인내력.


 


 


결론. 왠만하면 인감 받아서, 방문 처리 하자.

2015년 5월 27일 수요일

sftp 상위 디렉토리 차단

ssh 접속은 사용안하고 sftp 만 사용하는 유저의 상위 디렉토리 차단.

openssh 버젼이 4.8 이상이면 됨. (웬만하면 다 될 듯..)

 

아래처럼 바꾸고, 추가 해줌.

vim /etc/ssh/sshd_config
# override default of no subsystems
#바꿈
#Subsystem sftp /usr/libexec/openssh/sftp-server
Subsystem sftp internal-sftp

# Example of overriding settings on a per-user basis
#Match User anoncvs
# X11Forwarding no
# AllowTcpForwarding no
# ForceCommand cvs server
# 추가
Match group sftpusers
ChrootDirectory /home/%u
X11Forwarding no
AllowTcpForwarding no
ForceCommand internal-sftp

#sftp 전용 그룹 추가.
groupadd sftpusers

#dev라는 유저를 추가 (이것만 계속 반복으로 유저 추가)
useradd -g sftpusers -d /home/dev -s /sbin/nologin dev
chown root:root /home/dev
chmod 755 /home/dev
passwd dev

#sshd 재시작
service sshd restart

/home 디렉토리는 기존에 사용하고 있던 디렉토리이고,

user 그룹이 sftpusers 가 아닌 id들은 위의 로직을 타지 않음.

참고 :
https://wiki.archlinux.org/index.php/SFTP_chroot
http://www.programkr.com/blog/MQTM5ADMwYTx.html

2015년 5월 22일 금요일

MRTG 관련 소스

MRTG 관련 소스

MRTG Traffic Utilization
http://sourceforge.net/projects/mrtgtu/

mrtg의 log 파일을 기반으로 특정 기간의 IN,OUT 총트래픽, 평균 트래픽을 계산

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

mkmrtg
http://mkmrtg.blogspot.kr/

MRTG의 경로를 지정해 주면, html 네비게이션 파일을 생성 해 줌.

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

MRTG GUI - a CFG file rapid builder
http://www.claridion.com/downloads/MRTGgui.htm
윈도우 프로그램. cfgmaker의 윈도우 판이라고 생각하면 됨.
편함.
강추

------------------------------------------------------
그외 비추

phpMRTGadmin
MCT

2015년 5월 21일 목요일

java mail 첨부파일 이름 긴 경우 문제

첨부파일이 한글일 경우를 감안해서 보통 아래와 같이 쓴다.
bodyPart.setFileName( MimeUtility.encodeText(fileName, "UTF-8", "B"));

그러나 첨부파일 이름이 긴경우 제대로 인식이 안되고 아래와 같이 이름이 적용된다.

=?UTF-8?B?7IKs67iM67CA65+sXyjrqoUp6rCV7KeE7KO866WYKOyghOuCqClf?= =?UTF-8?B?MjAxNTA1MTJf6rGw656Y66qF7IS47IScLnBkZg==?=

해결책은 헤더값을 직접 지정하였습니다.
setFileName 을 안쓰고 직접 헤더 추가.
bodyPart.setDisposition("attachment; filename=\"" + MimeUtility.encodeText(fileName, "UTF-8", "B") + "\"");
bodyPart.setHeader("Content-Type", "application/pdf;name=\"" + MimeUtility.encodeText(fileName, "UTF-8", "B") + "\"");