관리자 모드로 cmd 를 실행한다.
다음과 같이 명령을 실행한다.
1) netsh -c "interface ipv4"
이 명령을 수행하면 netsh interface ipv4> 라는 명령어 보임
2) set neighbors "로컬 영역 연결" ip_address mac_address
(여기서 ip_address : 현재 자신의 IP / 그리고 mac_address 현재 PC의 맥어드레스를 사용)
-ipconfig /all 을 사용하여 확인함
(영문 윈도라면 "로컬 영역 연결" 대신 "Local Area Network"
위와 같이 수행하였을 때 아무런 에러가 안나면 성공한 것이다.
그리고 네트워크를 사용안함으로 했다가 사용함으로 하면 해결 ~~~~
ㅎㅎㅎㅎ
오래 걸렸다~~
IT 바다로의 항해일지
IT 바다로의 항해일지입니다
2011년 7월 5일 화요일
2011년 1월 19일 수요일
기본적인 네트워크 명령어
| 여러 네트워크 명령의 실제 사용 예를 설명한다. 1. PC나 서버가 동작중인지 확인하는 기본적인 툴 ping, fping fping 구할 곳 http://www.fping.com/ ICMP 프로토콜의 echo request, reply type을 사용하여 지정한 시스템의 응답을 확인한다. 요즘은 방화벽이나 서버에서 필터링하는 경우가 상당하므로 ping이 안된다고 해당 서버가 죽었다고 생각해서는 안됨 fping은 ping과 같으나 한번의 명령으로 여러 서버의 응답을 확인할 수 있다. ping < 확인할 서버 주소 > fping < 확인할 서버 목록 나열 > fping 192.168.1.1 192.168.1.5 fping -g 192.168.123.0/24 fping < 파일명 : 지정한 파일명에 나열된 IP에 모두 ping을 함 # fping 192.168.1.1 192.168.1.5 192.168.1.10 192.168.1.30 192.168.1.1 is alive 192.168.1.5 is alive 192.168.1.10 is alive 192.168.1.30 is unreachable 2. 라우팅 경로를 찾는 traceroute, tracepath traceroute 를 위해서는 ICMP type 11(time-execeeded) 가 필터링되어서는 안됨 1) ICMP 대신 UDP를 사용하려면 traceroute -I < trace할 서버 주소 > 또는 tracepath < trace할 서버 주소 > 2) TCP를 사용하는 traceroute 툴, lft와 tcptraceroute lft : http://www.mainnerve.com/lft/ tcptraceroute : http://michael.toren.net/code/tcptraceroute/ lft < trace할 서버 주소 > # lft -d 80 lug.or.kr (해당 사이트가 80포트가 열린 경우 이용) Tracing ___________________________. TTL LFT trace to 211.214.161.175:80/tcp 1 192.168.123.254 1.4ms ... 중략 ... 9 211.58.252.150 23.2ms 10 211.108.63.222 21.2ms 11 218.38.58.22 20.6ms 12 [target] 211.214.161.175:80 75.9ms lft에서 네트워크명, AS번호까지 표시하도록 하려면 -N옵션을 사용하면 된다. # lft -N -d 80 lug.or.kr Tracing ____________________________________________________________________ LFT can't seem to round-trip. Local packet filter in the way? TTL LFT trace to 211.214.161.175:80/tcp 1 [IANA-CBLK1] 192.168.123.254 13.2ms ... 중략 ... 9 [APNIC-CIDR-BLK2/HANANET-DONGJAK-KR] 211.58.252.150 24.2ms 10 [APNIC-CIDR-BLK2/WULSANSO-KR] 211.108.63.222 25.0ms 11 [APNIC4/HANANET-IDC-NGENE-KR] 218.38.58.22 39.4ms ** [80/tcp failed] Try alternate options or use -V to see packets. 3. 네트워크 상태확인하는 netstat 자주 사용하는 옵션 (워낙 옵션을 조합해서 자주 사용하므로 정리할 필요 있음) -n : 호스트명, 포트명을 lookup하지 않고 그대로 IP, Port번호로 보여준다. -a : 모든 네트웍 상태(listening, non-listening)를 보여준다. -t : TCP 프로토콜만 -u : UDP 프로토콜만 -p : 해당 포트를 사용하는 프로그램과 프로세스ID(PID)를 보여줌 (솔라리스에서는 ARP 테이블을 보여줌) -s : 프로토콜별(IP, ICMP, TCP, UDP 등)로 통계를 보여줌 -c : 1초 단위로 continuous하게 보여줌 (지속적인 접속 변화를 확인해야할 때 유용) -r : 라우팅 테이블을 보여줌. route 명령처럼 netstat -nlp Listening(l)중인 포트/소켓을 해당 PID와 프로세스명과 함께 netstat -tn TCP 접속 상태 netstat -un UDP 접속 상태 netstat -rn routing 테이블 netstat -ntp TCP 접속 상태를 해당 PID와 프로세스명과 함께 netstat -atnp 모든 TCP 접속상태를 해당 PID와 프로세스명과 함께 netstat -s 통계 netstat -c -t TCP 접속을 continuous 하게 보여줌 # netstat -atnp Active Internet connections (servers and established) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 0.0.0.0:515 0.0.0.0:* LISTEN 671/lpd Waiting tcp 0 0 127.0.0.1:3333 0.0.0.0:* LISTEN 738/avmilter tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 720/mysqld ... 생략 ... 4. fuser : 파일이나 소켓을 사용하는 프로세스 ID를 보여줌 1) TCP 25(mail)포트를 사용하는 PID를 보여줌 # fuser -n tcp 25 mail/tcp: 757 2) http 포트를 사용하는 PID, USER, 명령어를 보여줌 (-vn을 -nv 처럼 사용해서는 안됨 # fuser -vn tcp http USER PID ACCESS COMMAND http/tcp root 1652 f.... httpd root 1659 f.... httpd ... 생략 ... 3) /dev/hdb1 을 사용하는 사용자와 PID, 명령어 (umount해야할 때 사용중이라 나올 때 유용하게 쓰임) # fuser -vm /dev/hdb1 USER PID ACCESS COMMAND /dev/hdb1 truefeel 1669 f.... xmms truefeel 1670 f.... xmms 5. 패킷 모니터링을 위한 트래픽 덤프 툴 tcpdump 1) eth0 인터페이스로 오고가는 트래픽 정보를 보여줌(-i eth0 옵션없으면 eth0임) tcpdump 2) 192.128.1.1 host로 오고가는 또는 제외한 트래픽 tcpdump host 192.128.1.1 tcpdump src host 192.128.1.1 tcpdump dst host 192.128.1.1 tcpdump not host 192.128.1.1 3) 192.128.1.1과 192.128.1.2 사이를 오고가는 트래픽만 tcpdump host 192.128.1.1 and 192.128.1.2 4) ICMP, ARP, UDP 프로토콜만, ICMP 프로토콜 20개만 tcpdump icmp -i eth0 tcpdump arp tcpdump udp tcpdump icmp -c 20 5) 웹 포트로 오고가는 패킷만 tcpdump port 80 6) dhcp 패킷 확인할 때 # tcpdump -v -s 1500 port 67 or port 68 tcpdump: listening on eth0 01:17:16.803166 0.0.0.0.bootpc > 255.255.255.255.bootps: [udp sum ok] xid:0x29b28363 vend-rfc1048 DHCP:REQUEST RQ:truefeel PR:SM+BR+TZ+DG+DN+NS+HN+YD+YS+NTP [tos 0x10] (ttl 16, id 0, len 328) 01:17:16.806441 192.168.1.254.bootps > 255.255.255.255.bootpc: ... 생략 ... 6. 도메인 네임 찾기 dig, nslookup 워낙 다양한 사용법이 있으므로 기본적인 사용과 유용한 것 몇 개만 1) linux.or.kr 의 IP 확인 dig linux.or.k nslookup linux.or.kr 2) SOA, MX 등의 레코드 확인 dig linux.or.kr soa dig linux.or.kr mx 3) bind 네임서버 버전 확인 dig @네임서버 txt chaos version.bind nslookup -q=txt -class=CHAOS version.bind. 네임서버 4) 존파일 transfer (존파일 전송을 허용한 경우 해당 도메인의 모든 목록을 얻을 수 있다.) dig @네임서버 도메인명 axfr # dig @ns.daum.net daum.net axfr ; <<>> DiG 9.2.1 <<>> @ns.daum.net daum.net axfr ;; global options: printcmd daum.net. 86400 IN SOA ns.daum.net. hostmaster.daum.net. 2003082602 2700 900 604800 86400 daum.net. 86400 IN NS ns.daum.net. daum.net. 86400 IN NS ns2.daum.net. daum.net. 86400 IN MX 10 mx1.hanmail.net. daum.net. 86400 IN MX 10 mx2.hanmail.net. daum.net. 86400 IN MX 10 mx3.hanmail.net. ... 생략 ... 7. 웹서버 benchmark 할 때 유용한 lynx, ab 1) time lynx -source localhost > /dev/null 2) ab -n 10 localhost/ 10회 반복해서 요청 ab -n 10 -c 10 loclahost/ 10회 반복, 10건이 동시 접속일 때 8. 도메인 whois 검색하는 fwhois, whois -h whois.krnic.net 서버에 linux.or.kr 에 대해 whois 검색 요청 fwhois linux.or.kr@whois.krnic.net whois linux.or.kr -h whois.krnic.net 9. 웹서버 종류 확인 1) telnet 이용 # telnet localhost 80 Trying 127.0.0.1... Connected to localhost. Escape character is '^]'. HEAD / HTTP/1.0 HTTP/1.1 200 OK Date: Tue, 20 May 2003 12:48:08 GMT Server: Apache/2.0.44 (Unix) DAV/2 PHP/4.3.1 ... 생략 ... 2) HEAD, GET 이용 (perl libwww 모듈에 포함된 툴임) # HEAD localhost 200 OK Date: Tue, 20 May 2003 12:51:13 GMT Accept-Ranges: bytes Server: Apache/2.0.44 (Unix) DAV/2 PHP/4.3.1 ... 생략 ... 3) apachebench 툴 ab 이용 # /usr/local/apache/bin/ab localhost/ ... 생략 ... Server Software: Apache/2.0.44 Server Hostname: localhost ... 생략 ... 4) netcat(nc)를 이용 (레드햇 8.x에서 기본 설치됨) nc : http://www.atstake.com/research/tools/network_utilities/ # echo "HEAD / HTTP/1.0"|nc localhost 80 HTTP/1.1 200 OK Date: Sun, 21 Sep 2003 20:00:57 GMT Server: Apache/2.0.44 (Unix) DAV/2 PHP/4.3.2 ... 생략 ... 10. 솔라리스에서 패킷 모니터링 snoop snoop port 53 11. 솔라리스에서 회선이 연결됐는지 확인하는 방법 while 1 ? ndd -get /dev/hme link_status ? sleep 1 ? end |
2010년 12월 22일 수요일
윈도우 xp 원본 파일 복구하기
윈도우 xp 사용 중 원본 파일이 변경되었을 경우, 원본 파일로 복구하는 방법입니다.
1. 윈도우 설치시 사용한 CD/DVD 를 CD/DVD 롬에 삽입니다.
2. [시작] 버튼을 누릅니다.
3. [실행(R)] 을 클릭합니다.
4. sfc /scannow 라고 적은 후 엔터키를 누릅니다.
1. 윈도우 설치시 사용한 CD/DVD 를 CD/DVD 롬에 삽입니다.
2. [시작] 버튼을 누릅니다.
3. [실행(R)] 을 클릭합니다.
4. sfc /scannow 라고 적은 후 엔터키를 누릅니다.
2010년 12월 15일 수요일
windows XP 복구방법
부팅이 불가능 할 경우 xp 의 복구콘솔을 이용해 부팅 파일을 복구 시킬수 있습니다.
순서는 다음과 같습니다.
우선 Windows XP Pro 설치시디를 시디롬에 넣고 재부팅 합니다.
재부팅시 del 또는 F2 키를 이용해 cmos 로 들어가서 첫번째 부팅순서를 CD-Rom 으로 설정한뒤 저장하고 나옵니다.
CD-Rom 에서 xp 설치 시디를 읽으면서 Press Key... 가 나오면 아무키나 눌러줍니다.
XP 설치 화면으로 바뀌고 계속설치(ENTER) , 복구콘솔(R) 화면이 나올때 R 키를 누릅니다.
키보드 및 운영체제 위치를 선택해 줍니다.
XP 설치시 입력했던 administrator 비밀번호를 입력합니다.
복구콘솔이 나오면 C:\Windows> 이 화면에서 CD 를 입력해 C:\> 으로 이동합니다.
C:\>Fixmbr \device=harddisk0 입력 합니다. 만약 물리적인 하드가 두개고 두번째 하드에 XP 가 설치되어 있다면 harddisk1 로 입력해 주십시오. Y/N 이 나오면 Y 를 선택합니다.
C:\>Fixboot c: 입력 후 엔터
C:\>Chkdsk c: 입력 후 엔터
다 끝나면 C:\>Exit 입력 후 시디롬에서 XP 시디를 빼고 정상부팅이 되는지 확인합니다.
2010년 11월 16일 화요일
열린포트 확인하는 방법
시스템 명령어인 netstat 를 사용하는 방법
#netstat -nap (열려 있는 모든 포트)
#netstat -l 또는 netstat -nap | grep LISTEN (LISTEN 되는 모든 포트)
#netstat -nap | grep ESTABLISHED | wc -l ( 모든 서비스 동시 접속자 수)
#netstat -nap | grep :80 | grep ESTABLISHED | wc -l ( 웹 동시 접속자 수)
포트스캔 명령어로 확인 하는 방법
# TCP 포트 확인 방법
nmap -sT -p 1-65535 localhost
# UDP 포트 확인 방법
nmap -sU -p 1-65535 localhost
# 네트워크에 열린 포트 확인
nmap -sX -p 22,53,110 211.239.111.*
lsof 명령어로 확인 방법
# 모든 네트워크 소켓 확인
lsof -I
#netstat -nap (열려 있는 모든 포트)
#netstat -l 또는 netstat -nap | grep LISTEN (LISTEN 되는 모든 포트)
#netstat -nap | grep ESTABLISHED | wc -l ( 모든 서비스 동시 접속자 수)
#netstat -nap | grep :80 | grep ESTABLISHED | wc -l ( 웹 동시 접속자 수)
포트스캔 명령어로 확인 하는 방법
# TCP 포트 확인 방법
nmap -sT -p 1-65535 localhost
# UDP 포트 확인 방법
nmap -sU -p 1-65535 localhost
# 네트워크에 열린 포트 확인
nmap -sX -p 22,53,110 211.239.111.*
lsof 명령어로 확인 방법
# 모든 네트워크 소켓 확인
lsof -I
tomcat 여러개의 포트 사용하기
톰캣에서도 MS의 IIS와 같이 포트 번호에 따라 호스팅하는 것이 가능하다.(근데 웨케힘드노)
TOMCAT_HOME\conf\server.xml 을 열고 아래와 같이 Service 엘리먼트를 추가한다.
아래 좋은 블로그가 있어서 펌해왔다. ^__^) b
아파치와 연동없이 톰캣만으로도 하나의 IP로 다수의 웹사이트를 운영하는 것이 가능하다.
(아파치와 톰캣을 연동하는 방법에 대해서는 차후에 자세히 올리도록 하겠다)
특히 개발자의 경우 여러개의 프로젝트를 개발하거나 테스트하고자 할 때 웹사이트를 여러개 운영해야한다. 다수의 웹 사이트를 세팅하는 방법은 크게 2가지가 있다.
(아파치와 톰캣을 연동하는 방법에 대해서는 차후에 자세히 올리도록 하겠다)
특히 개발자의 경우 여러개의 프로젝트를 개발하거나 테스트하고자 할 때 웹사이트를 여러개 운영해야한다. 다수의 웹 사이트를 세팅하는 방법은 크게 2가지가 있다.
- 가상호스트를 이용하는 방법
- IP Address의 port를 여러개 사용하는 방법
가상호스트를 이용하는 방법은 도메인을 이용하여 실제로 서비스를 운영하는 경우가 아니면 개발자에겐 별 의미가 없다. 여기서는 두번째 방법인 IP 어드레스의 포트를 이용하는 방법에 대해서 설명하겠다. (바로가기 : 톰캣에서 가상 호스트를 이용하는 방법)
우선 설치 환경은 다음과 같다.
- O/S : Windows XP (난 아직 리눅스를 잘 모른다. 비슷하겠지만 테스트해보지 않았다)
- Tomcat 6.0 (정확히는 6.0.10) : 다운로드
설명의 편의를 위해 톰캣의 설치 디렉토리는 'TOMCAT_HOME' 으로 표기할 것이다. 참고로 내 경우는 C:\Server\Tomcat6.0 이다.
설정하는 방법은 간단하다. /TOMCAT_HOME/conf/에 있는 server.xml 파일만 수정하면 끝이다. server.xml의 쓸데없는 주석부분을 다 없애고 핵심부분만 남겨놓으면 아래와 같다.
설정하는 방법은 간단하다. /TOMCAT_HOME/conf/에 있는 server.xml 파일만 수정하면 끝이다. server.xml의 쓸데없는 주석부분을 다 없애고 핵심부분만 남겨놓으면 아래와 같다.
<Service name="Catalina">
<Connector port="8080" protocol="HTTP/1.1"
maxThreads="150" connectionTimeout="20000"
redirectPort="8443" />
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" /> <Engine name="Catalina" defaultHost="localhost">
<Realm className="org.apache.catalina.realm.UserDatabaseRealm"
resourceName="UserDatabase"/>
<Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
</Host>
</Engine>
</Service>
우선 빨간색으로 표시한 부분만 이해하고 넘어가도 상관없다.
Connector port="8080"은 HTTP로 넘어오는 포트를 지정하는 것이다. 톰캣의 기본 포트가 8080인 이유가 여기에 있다. 따라서 8080 대신 기본 80포트를 사용하고 싶다면? 바로 이 부분을 port="80"으로 바꾸어주면 된다.
다 음, Host 지시어의 appBase="webapps" 는 웹어플리케이션(웹사이트)의 위치를 나타낸다. appBase="./webapps"와 같은 의미다. 실제 위치는 TOMCAT_HOME/webapps이다. 물론 "d:/weapps/myweb1" 과 같이 절대경로로 지정하는 것도 가능하다.
그럼 웹사이트를 하다 더 추가하고 싶다면? 위의 <Service>...</Service>를 하나 더 만들어 버리면 된다. 위의 코드를 복사한 다음 server.xml 에 추가한다. 그리고 빨간색으로 표시한 부분만 수정하자.
<Service name="Catalina2">
<Connector port="9090" protocol="HTTP/1.1"
maxThreads="150" connectionTimeout="20000"
redirectPort="8443" />
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
<Engine name="Catalina" defaultHost="localhost">
<Realm className="org.apache.catalina.realm.UserDatabaseRealm"
resourceName="UserDatabase"/>
<Host name="localhost" appBase="d:/webapps/myweb2"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
</Host>
</Engine>
</Service>
다른 웹어플리케이션을 돌리기 위해 서비스를 하나 더 추가한 것이다.
port="9090" 은 새로 추가하고 싶은 포트이다.
appBase="d:/webapps/myweb2"는 9090 포트에서 돌아갈 웹사이트 위치이다.
이제 server.xml 설정은 끝난 것이다.
마지막으로 웹사이트의 ROOT 디렉토리를 지정해주자. 아래의 폴더를 생성한다.
d:/webapps/myweb2/ROOT/ (
d:/webapps/myweb2/ROOT/WEB-INF/
(WEB-INF 폴더를 만들고 web.xml 파일을 추가한다. 그냥 /TOMCAT_HOME/webapps/ROOT/WEB-INF/에 있는 web.xml 을 복사하면 된다.
무지 간단하다. 하지만 난 이 간단한 것을 위해서 하루종일 삽질해야만 했다. 검색해 보아도 문서는 많은데 실제 도움이 될만한 것이 별로 없었다.
테스트하기 위해 ROOT/index.html 또는 index.jsp를 만든다.
이제 톰캣을 재시작하고 웹브라우저로 접속해 보자.http://localhost:8080
http://localhost:9090
2010년 11월 15일 월요일
Unix 명령어
파일의 겟수를 체크할 경우
ls -l |wc -l
(예시)
nsdiap2:tmax [/app/tcpor/webapps.bak/WEB-INF/lib]# ls -l /app/tcpor/webapps/WEB*/lib |wc -l
ls -l |wc -l
(예시)
nsdiap2:tmax [/app/tcpor/webapps.bak/WEB-INF/lib]# ls -l /app/tcpor/webapps/WEB*/lib |wc -l
피드 구독하기:
덧글 (Atom)