'분류 전체보기'에 해당되는 글 302건
- 2008.11.22 무료 조각모음 프로그램
- 2008.05.27 [URL]URL snooper
- 2008.05.16 winmerge 2
- 2008.05.15 FTP 장애 ( Active FTP , Passive FTP) 2
- 2008.04.10 SQL Server 2005 Express 사용하기
- 2008.04.04 static 스태딕
- 2008.03.28 Visual Studio 2008 Express
- 2008.03.20 입이 트이는 영어
- 2008.03.19 포켓 잉글리쉬 1
- 2008.03.13 Winamp 의 Version History 표기법
인터넷을 사용하면서 주고 받는 일반적인 url 주소에 대한 정보를 보여줍니다.
저는 업무적인 목적으로 사용하지만
사용하는 방법에 따라서 각자 다른 목적으로 사용하실수있습니다.
일반적으로 관련 유명한 프로그램은
mms, rts 스트리밍 주소와 기타 웹 링크 URL 주소를 캡쳐하여 알려주는 프로그램 (유알엘 헬퍼)
이지만 유알엘 헬퍼는 유료라서...게다가...6일밖에 못씁니다.
하지만 유알엘 스누퍼는 무료입니다.
성능도 결코뒤지지 않습니다.
강추~!
아래와 같은 환경을 고려해볼수있습니다.
FTP 서버가 사용하는 포트는 2개 입니다.
하나는 로그인과 디렉토리 검색을 하기위해 사용되는 정보포트와 실제적으로 데이터를
업다운로드하는데 쓰이는 데이터 포트입니다.
FTP 서비스는 패시브모드(Passice-mode)와 액티브모드(Active-mode) 2가지를 지원합니다.
Active-mode 는 클라이언트 기반 접속으로 클라이언트에 선점되지 않은(1024이상)의
포트에서 웹서버쪽에 21번 포트로 FTP를 접속합니다.
클라이언트에서 서버쪽으로 port 명령어를 보내는 것으로 랜덤포트를 이용하여 서버 포트로
접속하는 것으로 서버포트는 항상 21번 포트로 접속됩니다.
따라서 Active 모드 접속시에 문제점이 발생되는 경우는 대부분이 클라이언트측에 있습니다.
FTP 클라이언트는 서버의 데이터포트로 실제 연결을 생성하지 않고 단지 서버에게
자신이 리스닝하는 포트를 이야기하고 서버 클라이언트가 이야기한 포트로 연결을 맺습니다.
만일 자신이 공유기나 마스커레이드를 통해 FTP 서버로 접속을 시도하게 될때 접속이 안되는 경우에
대부분은 서버로의 접속후에 클라이언트쪽으로 접속을 요청할때 사설아이피를 못찾아서
실패하는 경우입니다.
이는 서버에 Passive 모드접속을 허용하지 않게끔 설정해두어서 생기게되는 경우로
서버설정에 변경없이 꼭접속을 하기를 원한다면 공유기를 떼고 다이렉트로 접속해 보면됩니다.
이에 공유기나 마스터레이드 같은 사설사용자들을 위해 생겨난 방식이 Passive 모드입니다.
Passive-mode 는 서버쪽 21번 포트로 접속시, 클라이언트의 랜덤 포트가 아니라 서버쪽 랜덤포트를
이용하게됩니다.
서버는 클라이언트에게 pasv 명령어를 보내며, 클라이언트는 승인하게 됩니다.
문제는, 패시브모드의 경우 서버쪽에 1024 에서 65535 포트 사이를 랜덤하게 할당하며,
네트워크 세션이 있을때 마다 신규포트를 이용하게 됩니다.
이때, 서버쪽에 방화벽을 운영하거나 대량접속서비스가 운영중일때는 네트워크 자원이 부족하게 되어
접속장애가 있을수 있습니다.
즉 사용자가 공유기를 사용하거나 하는 환경에서는 Passive 모드를 사용하게 되는데
서버에 방화벽등이 설정되어있으면 해당포트가 방화벽에의해 차단되므로 접속이 잘안되거나
특별히 파일갯수가 많은 폴더를 선택시 연결이 끉어질수있습니다.
해결방법은 경우에 따라 달라지는데 (간단한것부터)
1.사용자가 공유기등을 사용한다면 Passive 모드로 연결해볼것
2.사용자가 공유기등을 사용하지 않는데 서버에 접속이 잘안될경우에는 Active 모드로 연결해볼것
3.위에 경우에도 잘안되면 사용자가 공유기들을 사용하는데 서버에서는 방화벽을 사용할경우
서버에서 Passive 모드를 사용할수있게 아래와 같이 셑팅을 해볼것
.................................................................................. .................................................................................. .................................................................................. <IIsFtpService Location ="/LM/MSFTPSVC" AdminACL="XXXXXXXX" AllowAnonymous="TRUE" AnonymousOnly="FALSE" AnonymousUserName="IUSR_SERVER-X62W0LSZ" AnonymousUserPass="XXXXXXXXX" ConnectionTimeout="120" DownlevelAdminInstance="1" ExitMessage=" " LogAnonymous="FALSE" LogExtFileFlags="XXXXXXXXX" LogFileDirectory="C:\WINDOWS\system32\LogFiles" LogFilePeriod="1" LogFileTruncateSize="20971520" LogNonAnonymous="FALSE" LogOdbcDataSource="TSLOG" LogOdbcPassword="XXXXXXXXXX" LogOdbcTableName="FTPLog" LogOdbcUserName="InternetAdmin" LogPluginClsid="{FF160663-DE82-11CF-BC0A-00AA006111E0}" LogType="1" MSDOSDirOutput="TRUE" MaxClientsMessage=" " MaxConnections="100000" PassivePortRange="5001-5001" > </IIsFtpService> .................................................................................. .................................................................................. .................................................................................. |
Windows 2000 Server 의 경우는 레지스트리 값을 추가
에서 REG_SZ 타입의 PassivePortRange 값이름을 추가한다.
값으로는, 5500-5700 을 설정한다.
ip_conntrack 은 연결추적 모듈이다. 몇번 IP 가 몇번 포트를 통해서 접속했는지에 대한 정보가 담겨있다.
[root@smileserv ~]# cat /proc/net/ip_conntrack ........................................................................................................................ ........................................................................................................................ ........................................................................................................................ udp 17 27 src=219.78.47.179 dst=111.111.111.241 sport=7957dport=8630 packets=1 bytes=90 src=111.111.111.241 dst=219.78.47.179sport=8630 dport=7957 packets=1 bytes=81 mark=0 use=1 udp 17 7src=58.172.208.159 dst=111.111.111.241 sport=55210 dport=8630 packets=2bytes=306 src=111.111.111.241 dst=58.172.208.159 sport=8630 dport=55210packets=2 bytes=411 [ASSURED] mark=0 use=1 udp 17 114src=111.111.111.1111 dst=222.222.222.22 sport=33181 dport=161packets=34 bytes=2692 src=222.222.222.22 dst=111.111.111.236 sport=161dport=33181 packets=34 bytes=2875 [ASSURED] mark=0 use=1 |
패시브 모드를 사용하기 위한 vsftp.conf 설정[root@smileserv ~]# vi /etc/vsftpd/vsftpd.conf
# You may specify an explicit list of local users to chroot() to their home
# directory. If chroot_local_user is YES, then this list becomes a list of
........................................................................................................................
## => Active Mode로 접근할 수 없는 사용자들을 위해 활성화
pasv_enable=YES
## => 일반적으로 50000~60000 포트를 지정 (기본값 = 0)
## 기본값인 0은 well-known port를 제외한 무작위 포트를 이용하게 됩니다.
pasv_min_port=50000
pasv_max_port=50001
패시브 모드를 사용하기 위한 proftpd.conf
# You may specify an explicit list of local users to chroot() to their home
# directory. If chroot_local_user is YES, then this list becomes a list of
........................................................................................................................
[root@smileserv ~]# netstat -atnp |grep vsftpd ==> FTP 접속전 tcp 0 0 0.0.0.0:21 0.0.0.0:* LISTEN 21363/vsftpd [root@smileserv ~]# netstat -atnp |grep vsftpd ==> FTP 접속중 tcp 0 0 0.0.0.0:21 0.0.0.0:* LISTEN 21363/vsftpd tcp 0 0 192.168.0.222:21 192.168.0.4:3621 ESTABLISHED 21374/vsftpd tcp 0 0 192.168.0.222:21 192.168.0.4:3622 ESTABLISHED 21377/vsftpd [root@smileserv ~]# netstat -atnp |grep vsftpd ==> PASV 고정전 데이타 전송중 tcp 0 0 218.236.115.222:34795 0.0.0.0:* LISTEN 21427/vsftpd tcp 0 0 0.0.0.0:21 0.0.0.0:* LISTEN 21414/vsftpd tcp 0 0 192.168.0.222:21 192.168.0.4:1090 ESTABLISHED 21422/vsftpd tcp 0 0 192.168.0.222:21 192.168.0.4:1091 ESTABLISHED 21425/vsftpd tcp 0 87765 192.168.0.222:34795 192.168.0.4:1106 ESTABLISHED 21427/vsftpd [root@smileserv ~]# netstat -atnp |grep vsftpd ==> PASV 고정후 데이타 전송중 tcp 0 0 218.236.115.222:50001 0.0.0.0:* LISTEN 21379/vsftpd tcp 0 0 0.0.0.0:21 0.0.0.0:* LISTEN 21363/vsftpd tcp 0 116800 192.168.0.222:50001 192.168.0.4:3666 ESTABLISHED 21379/vsftpd tcp 0 0 192.168.0.222:21 192.168.0.4:3621 ESTABLISHED 21374/vsftpd tcp 0 0 192.168.0.222:21 192.168.0.4:3622 ESTABLISHED 21377/vsftpd |
Visual Web Developer 2008 Express 도 설치하였습니다.
DB에 연결하려고 하니 연결이 안되더라구요.
(windows 인증사용)
데이터베이스 탐색기 -> 데이터 연결 -> 연결추가


아무리해도 연결이 되지 않았습니다....
서버에 연결하는 동안 오류가 발생했습니다. SQL Server 2005에 연결하는 경우 SQL Server 기본 설정에서는 원격 연결을 허용하지 않기 때문에 발생한 오류일 수 있습니다. (provider: 명명된 파이프 공급자, error: 40 - SQL Server에 대한 연결을 열 수 없습니다.)
인터넷을 찾아보다가 알아낸사실은
express에서는 기본적으로 로컬연결만 가능하게 되어있다는것입니다.
물론 설정을 바꾸면 자유롭게 원격에서도 연결이 가능합니다.
원격 연결을 허용하는 방법
하지만 지금은 로컬인데도 연결이 안되고 있었습니다.
이유는 위에 서버이름을 수정해야된다는것이 었습니다.
localhost\SQLExpress
로 수정하니 연결이 되었습니다.
SQL Server 2005 Express와 춤을 추다
쿼리로 연결하거나 SQL Server 인증 사용은 인터넷을 찾아보시면 자료를 찾아보실수있습니다.
전역변수와 지역변수 앞에 static 키워드를 붙여서 선언할수있습니다.
전역변수에서 선언하면 프로그램이 실행될때 초기화되어 메모리에 알라가서
프로그램이 종료될때 사라집니다.
지역변수는 함수내에서 선언되면 메모리안에 저장되어 함수가 종료되어서도
사라지지않고 다시 함수를 호출시 그전의 값이 그대로 남아있어 사용할수있습니다.
예)
int a()
{
int a=1;
a+=1;
return a;
}
위와 같이 하면 함수를 호출할때마다 a = 2 를 반환합니다.
하지만,
int a()
{
static int a=1;
a+=1;
return a;
}
static int a=1; 는 한번만 실행되고 그후로부터 함수를 호출할때마다 1씩 증가된값을 반환합니다.
정식판과 Express 의 차이점은 Express는 기본적인 컴파일러만 포함되어있고
기본적으로 MFC , ATL 라이브러리가 지원 되고 안되고의 차이라고 합니다.
Visual Studio 2008 공식사이트 http://msdn2.microsoft.com/ko-kr/vs2008/products/default.aspx
각종 다운로드 관련 페이지 http://msdn2.microsoft.com/ko-kr/vstudio/aa700831.aspx
trial 기간은 90일입니다.(한글지원함)
Express Editions http://www.microsoft.com/express/default.aspx
(한글지원함)
Visual Studio 2008 평가판 베타2 Team System
http://www.microsoft.com/downloads/details.aspx?FamilyId=428C076F-E3EF-4290-9FF4-F6FD8F180B7D&displaylang=ko
2008년 3월 까지 사용가능하다고 하네요.(확인못해봤음,한글지원함)
참고 : Visual Studio 2005 Express 관련페이지 http://www.microsoft.com/korea/msdn/vstudio/express/
(한글지원)
Improved : 개선된 기능이나 코딩
Fixed : 버그나 문제점이 발견되어서 수정된 기능이나 코딩
Update : 외부라이브러리나 리소스가 업데이트