RTR: network > layer, routing protocol (e.g. IP)
MAC: MAC layer, medium access > protocol (e.g. 802.11)
'Network > Ns2_source' 카테고리의 다른 글
awk script- delay 계산 (0) | 2009.01.17 |
---|---|
awk script- delay 계산 및 IP 주소 C 상에서 얻어오기 (0) | 2009.01.17 |
Analysis of 802.11 MAC code in NS-2 (0) | 2009.01.17 |
[ns] Dropping Packets with RTR CBK (0) | 2009.01.17 |
Network Simulator - hierarchical address를 사용할 때 segmentation fault (0) | 2009.01.17 |
Analysis of 802.11 MAC code in NS-2
[ Back to Network Simulator 2 for Wireless ]0. MAC in ns-2
LAN is within Berkeley Architecture, WLAN cannot create with “newLan” command
Ethernet could be created as a LAN with common bandwidth and delay.
1. The general structure of MAC
related sourcecode: mac.cc, mac.hMAC class is derived from Bi-Connector class.
Local Variables:
- pktTx_
- pktRx_
- Macstate_ :
- index_ : mac address
Basic functions of General MAC class.
- recv (packet, handler)
- This is the entry from upper target (a callback handler is given as a parameter) to send a packet to MAC. After the MAC transmit this packet successfully, it will use this callback handler to inform the upper target that MAC is idle and give another packet if there are packets buffered.
- This is the entry from upper target (a callback handler is given as a parameter) to send a packet to MAC. After the MAC transmit this packet successfully, it will use this callback handler to inform the upper target that MAC is idle and give another packet if there are packets buffered.
- SendUp
- entry for receiving a packet. Sendup is function is directly called by the lower target of MAC, might be "netif" or "phy". And this function directly calls the upper_target. Because the uplink to upper_target does not involve any phsical transmission delay, it does not need any timer and state change here. The question is that when the MAC is in MAC_RECV state? The answer is: The MAC here is supposed to be full-duplex and receive can be happened simultaneously. it does not care about collisions etc. This is a general MAC class
- entry for receiving a packet. Sendup is function is directly called by the lower target of MAC, might be "netif" or "phy". And this function directly calls the upper_target. Because the uplink to upper_target does not involve any phsical transmission delay, it does not need any timer and state change here. The question is that when the MAC is in MAC_RECV state? The answer is: The MAC here is supposed to be full-duplex and receive can be happened simultaneously. it does not care about collisions etc. This is a general MAC class
- SendDown
- used to sending packet down. Called by recv().init a timer for tx, and the timer handler is defined to call resume().
- used to sending packet down. Called by recv().init a timer for tx, and the timer handler is defined to call resume().
- Handler* callback_;
- when MAC is idle, the upper target has to be callback.
- Resume()
- When tx timer out, reset MAC as idle state and callback.
- When tx timer out, reset MAC as idle state and callback.
- Discard
- When a packet has to be drop, the drop_ (NsObject*) of bi-connector class has to be called to handle this, usually drop (p, why) is used. Why is a string of drop reason, in cmu-trace.h. three-character string is defined to describe those reasons in the trace file, such as "BSY", "CBK"....
- When a packet has to be drop, the drop_ (NsObject*) of bi-connector class has to be called to handle this, usually drop (p, why) is used. Why is a string of drop reason, in cmu-trace.h. three-character string is defined to describe those reasons in the trace file, such as "BSY", "CBK"....

2. The 802.11 MAC
it is implemented by CMU. It is a subclass of MAC.related sourcecode : mac-802_11.cc, mac-802_11.h, mac-timer.cc, mac-timer.h
State Machine:
The tx_state and rx_state are two member variables. Although, actually mac cannot transmit and receive at the same time. we still hold two variables for them. The possible state is MAC_SEND, MAC_IDLE, MAC_RECV, MAC_COLL, MAC_RTS, MAC_CTS, MAC_ACK.
Local Variables:
- pktTx_ (inherited from Mac class):
- pktRx_(inherited from Mac class):
- pktCtrl_
- pktRTS_
Basic functions:
- recv(): the recv() function of MAC class has been overridden. Here, recv() means an incoming packet from both physical layer and upper layer.
- send(): this function is called by recv() when it get a packet supposed to sending down. Similarly, a callback handler is given as a parameter. Immediately, the sendDATA(p) function is called to generate an appropriate mac_header for this packet, and set this to pktTx_. Then, follew the CSMA/CA procedures to get this packet sent.
- sendDATA(). to compose a DATA MAC frame and set it as pktTx_
- recvDATA(). When heard a DATA MAC frame, hand it to upper layer.
Callback to IFQ in MAC 802.11
The callback is set when a packet comes from upper layer and be handled by send(p,h). The callback is used and reset to zero in tx_resume() function of mac-802_11.cc:
void
Mac802_11::tx_resume()
{
.....The callback will reactivate the interface queue between mac_ and ll_ objects, see queue/queue.cc
else if(callback_) {
Handler *h = callback_;
callback_ = 0;
h->handle((Event*) 0);
}
// change wrt Mike's code
//SET_TX_STATE(MAC_IDLE);
setTxState(MAC_IDLE);
}
void QueueHandler::handle(Event*)See that the queue is blocked if not "callback", thus, callback is essential to make queue work properly.
{
queue_.resume();
}
void Queue::resume()
{
Packet* p = deque();
if (p != 0) {
target_->recv(p, &qh_);
} else {
if (unblock_on_resume_)
blocked_ = 0;
else
blocked_ = 1;
}
}
Backoff
The backoff implementation in mac-802_11.cc does not comply with the standard. Basically, this is due to the introduction of a defer timer. The defertimer is set in send() and after a packet transmission finishes. The deferred time value is usually (DIFS+rTime) where rTime is as same as the selection of backoff timeslots from CW (Contention Window). However, the defertimer is never paused or resumed.
So, after a packet transmission, according to the IEEE 802.11 standard, the node should do backoff immediately. here in ns-code, the defertime is first set. And after timer out, in check_pktTx() function. if the channel is not idle, a backoff timer is set. Therefore, here exists a double backoff problem. Also, according to IEEE 802.11 standard, a node should access channel directly if it sense the channel idle and still idle after at least DIFS time. Here, ns-code also deviates from the standard and add an additional rTime before sending DATA or RTS.
Determine the transmission time
txtime is calculated from the "size" variable in common header. Because all headers are present in the packet no matter what layer it is. Thus, the only way to know the packet size is to add or subtract some bytes in hdr_cmn->size(); In 802.11 MAC code, in recvDATA(), the 802.11 header size will be subtracted. And in SendDATA(), a 80211_hdr_length will be added.
Transmission Failure:
In both RetransmitRTS and RetransmitDATA functions, it is necessary to deal a packet drop :
if(ssrc_ >= macmib_.getShortRetryLimit()) {
discard(pktRTS_, DROP_MAC_RETRY_COUNT_EXCEEDED); pktRTS_ = 0;
/* tell the callback the send operation failed
before discarding the packet */
hdr_cmn *ch = HDR_CMN(pktTx_);
if (ch->xmit_failure_) {
/*
* Need to remove the MAC header so that
* re-cycled packets don't keep getting
* bigger.
*/
// change wrt Mike's code
//ch->size() -= ETHER_HDR_LEN11;
ch->size() -= phymib_.getHdrLen11();
ch->xmit_reason_ = XMIT_REASON_RTS;
ch->xmit_failure_(pktTx_->copy(),
ch->xmit_failure_data_); //callback by upperlayer } //printf("(%d)....discarding RTS:%x\n",index_,pktRTS_); discard(pktTx_, DROP_MAC_RETRY_COUNT_EXCEEDED); pktTx_ = 0; ssrc_ = 0; rst_cw(); }
So, it is a way to let upper layer , such as DSR routing to know there is a route-error and need to send a route-error message.
Frame Formats in ns-2
The 802.11 header in ns-2 is not conform to the 802.11 standard. It is a different one. Thus, this overhead cannot be regarded as authentic as that of
the experiment. And the throughput measurements also seems different.
Other IEEE 802.11 features
1. Carrier SenseThis is normally done by the physical layer source code. The state of 802.11 MAC is controlled by some timers. Such as the Backoff_timer. By checking if those timers are still busy, the MAC will arrange its operations correspondingly.
2. Virtual Carrier Sense
RTS/CTS is an important part of code. There are functions like sendRTS ( is to form a RTS ctrl packrt) , retransmitRTS...... Basically it has to compare with RTSThreshold first, if the size is small than the threshold, there is no" virtual carrier sense" scheme used.
'Network > Ns2_source' 카테고리의 다른 글
awk script- delay 계산 및 IP 주소 C 상에서 얻어오기 (0) | 2009.01.17 |
---|---|
멈춰!! 움직이지마!! 움직여!! 빨리 달려!! 달리라고!!!! (0) | 2009.01.17 |
[ns] Dropping Packets with RTR CBK (0) | 2009.01.17 |
Network Simulator - hierarchical address를 사용할 때 segmentation fault (0) | 2009.01.17 |
짜증나는 세그먼트 에러 ns2 (0) | 2009.01.17 |
[ns] Dropping Packets with RTR CBK
Francisco J. Ros fjrm at dif.um.esTue Sep 19 03:06:58 PDT 2006
- Previous message: [ns] Dropping Packets with RTR CBK
- Next message: [ns] how to send 802.16 undetermined size Control messages in ns2
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Hi, It means that the MAC layer couldn't successfully deliver the packet. You can find the reasons for this at the bottom of this page: http://masimum.inf.um.es/nsrt-howto/html/node23.html Regards, fran P.S: answers to frequent questions like this can be easily found with http://www.isi.edu/nsnam/htdig/search.html On Tuesday 19 September 2006 11:48, michelenuti at alice.it wrote: > Hi ns users, > does anybody know what does it mean when a TCP packet is dropped and in the > trace file is indicated as RTR CBK? > > Thanks a lot, > Michele Nuti
- Previous message: [ns] Dropping Packets with RTR CBK
- Next message: [ns] how to send 802.16 undetermined size Control messages in ns2
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the Ns-users mailing list
'Network > Ns2_source' 카테고리의 다른 글
멈춰!! 움직이지마!! 움직여!! 빨리 달려!! 달리라고!!!! (0) | 2009.01.17 |
---|---|
Analysis of 802.11 MAC code in NS-2 (0) | 2009.01.17 |
Network Simulator - hierarchical address를 사용할 때 segmentation fault (0) | 2009.01.17 |
짜증나는 세그먼트 에러 ns2 (0) | 2009.01.17 |
[NS2] Network Component 생성 기초 : OTCL Linkage(1) (0) | 2009.01.12 |
Network Simulator - hierarchical address를 사용할 때 segmentation fault
| Network/Ns2_source 2009. 1. 17. 17:34자료출처: http://blog.empas.com/blhole/23462211
'Network > Ns2_source' 카테고리의 다른 글
Analysis of 802.11 MAC code in NS-2 (0) | 2009.01.17 |
---|---|
[ns] Dropping Packets with RTR CBK (0) | 2009.01.17 |
짜증나는 세그먼트 에러 ns2 (0) | 2009.01.17 |
[NS2] Network Component 생성 기초 : OTCL Linkage(1) (0) | 2009.01.12 |
Tcl and OTcl for ns (0) | 2009.01.12 |
'Network > Ns2_source' 카테고리의 다른 글
[ns] Dropping Packets with RTR CBK (0) | 2009.01.17 |
---|---|
Network Simulator - hierarchical address를 사용할 때 segmentation fault (0) | 2009.01.17 |
[NS2] Network Component 생성 기초 : OTCL Linkage(1) (0) | 2009.01.12 |
Tcl and OTcl for ns (0) | 2009.01.12 |
네트워크 시뮬레이터 NS-2 (0) | 2009.01.12 |
#apt-get remove foo foo 패키지 삭제
#apt-get remove --purge foo foo 패키지와 설정 파일들 전부 삭제
#apt-get update 패키지 db 업데이트
#apt-get -f install 의존성문제를 해결하기 위해서 패키지를 설치하고 삭제
#apt-get clean 로컬 저장소의 모든 .deb 패키지를 삭제
#apt-get upgrade 모든 패키지를 새버전으로 업그레이드
#apt-get dist-upgrade 패키지를 업그레이드함과 동시에 새 패키지에 의해서 야기되는 의존성 문제를 다룹니다
$apt-get source foo foo 패키지의 소스 파일을 다운로드합니다
#apt-get -t unstable foo 안정화되지 않은 패키지와 의존 패키지를 찾아서 설치
$apt-cache show foo foo 패키지에 관한 아주 자세한 설명
$apt-cache search foo 이름에 foo를 포함한 패키지 찾기
#aptitude install foo foo 패키지 설치
#aptitude remove foo foo 패키지 삭제
#aptitude remove --purge foo foo 패키지와 설정 파일 모두 삭제
$aptitude search foo 이름에 foo를 포함한 패키지 찾기
#aptitude update 패키지 db 업데이트
#aptitude upgrade 패키지를 새 버전으로 업그레이드
#aptitude safe-upgrade aptitude upgrade와 동일
#aptitude full-upgrade . 의존성을 고려해서 새버전으로 패키지를 업그레이드한다
#aptitude hold foo foo 패키지는 safe-upgrade 또는 full-upgrade할때 삭제되거나 업그레이드하지 않는다
#aptitude unhold foo 위에서 foo 패키지 홀드한거 해제
$aptitude show foo foo 패키지에 대한 긴 설명
#aptitude clean 패키지 cache 디렉토리의 전에 다운받은 모든 .deb파일을 삭제한다
#dpkg -i foo foo 패키지 설치
#dpkg -r foo foo 패키지 삭제
#dpkg --purge foo foo 패키지와 설정 파일 삭제
$dpkg -l *foo* foo란 패턴을 담고있는 패키지의 목록 출력
$dpkg -L foo foo 패키지에 관련된 파일 목록
#dpkg-reconfigure -plow foo 이미 설치된 foo 패키지를 재설정
$dpkg --search foo 설치된 패키지중 이름에 foo를 포함한 패키지의 목록
몇가지 더 추가하면
gksudo, gksu는 su, sudo의 그래픽 frontend입니다
df 현재 사용하고 있거나 사용 가능한 디스크 공간을 알려준다 보통 df -h 라는 옵션을 줘야 보기 편하다
chmod 파일 접근 권한 변경
예) chmod +x hello hello라는 파일을 실행 권한을 부여해준다
grep
$ grep -i apple fruitlist.txt
apple
fruitlist.txt 파일에 apple이라는 문자열이 있는 라인을 출력한다
ps 현재 실행중인 프로세스를 출력
kill -9 18298
프로세스 아이디가 18298인 프로세스를 강제 종료
ln
두 파일을 링크시킨다 -s는 심볼릭 링크 옵션
$ ln -s data.txt symlink.txt
cd를 iso 이미지 파일로 만들기
dd if=/dev/cdrom of=/tmp/data.iso
'Computer_language > Linux' 카테고리의 다른 글
.bashrc for ns2 in ubuntu (0) | 2009.01.19 |
---|---|
우분투 /etc/apt/ 업데이트 파일 (0) | 2009.01.19 |
Ubuntu 8.04 LTS sources.list (0) | 2009.01.16 |
리눅스 커널 스터디 참고자료 (0) | 2009.01.12 |
초보자를 위한 리눅스 커널의 메모리 관리 (0) | 2009.01.12 |
deb-src http://archive.ubuntu.com/ubuntu/ hardy main restricted #Added by software-properties
# See http://help.ubuntu.com/community/UpgradeNotes for how to upgrade to
# newer versions of the distribution.
deb http://archive.ubuntu.com/ubuntu/ hardy main restricted
deb-src http://archive.ubuntu.com/ubuntu/ hardy main multiverse universe #Added by software-properties
## Major bug fix updates produced after the final release of the
## distribution.
deb http://archive.ubuntu.com/ubuntu/ hardy-updates main restricted
deb-src http://archive.ubuntu.com/ubuntu/ hardy-updates restricted main multiverse universe #Added by software-properties
## N.B. software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu
## team, and may not be under a free licence. Please satisfy yourself as to
## your rights to use the software. Also, please note that software in
## universe WILL NOT receive any review or updates from the Ubuntu security
## team.
deb http://archive.ubuntu.com/ubuntu/ hardy universe
deb http://archive.ubuntu.com/ubuntu/ hardy-updates universe
## N.B. software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu
## team, and may not be under a free licence. Please satisfy yourself as to
## your rights to use the software. Also, please note that software in
## multiverse WILL NOT receive any review or updates from the Ubuntu
## security team.
deb http://archive.ubuntu.com/ubuntu/ hardy multiverse
deb http://archive.ubuntu.com/ubuntu/ hardy-updates multiverse
## Uncomment the following two lines to add software from the 'backports'
## repository.
## N.B. software from this repository may not have been tested as
## extensively as that contained in the main release, although it includes
## newer versions of some applications which may provide useful features.
## Also, please note that software in backports WILL NOT receive any review
## or updates from the Ubuntu security team.
# deb http://kr.archive.ubuntu.com/ubuntu/ hardy-backports main restricted universe multiverse
# deb-src http://kr.archive.ubuntu.com/ubuntu/ hardy-backports main restricted universe multiverse
## Uncomment the following two lines to add software from Canonical's
## 'partner' repository. This software is not part of Ubuntu, but is
## offered by Canonical and the respective vendors as a service to Ubuntu
## users.
# deb http://archive.canonical.com/ubuntu hardy partner
# deb-src http://archive.canonical.com/ubuntu hardy partner
deb http://archive.ubuntu.com/ubuntu/ hardy-security main restricted
deb-src http://archive.ubuntu.com/ubuntu/ hardy-security restricted main multiverse universe #Added by software-properties
deb http://archive.ubuntu.com/ubuntu/ hardy-security universe
deb http://archive.ubuntu.com/ubuntu/ hardy-security multiverse
deb http://archive.ubuntu.com/ubuntu/ hardy-proposed restricted main multiverse universe
deb-src http://archive.ubuntu.com/ubuntu/ hardy-proposed restricted main multiverse universe #Added by software-properties
## Pidgin
# deb http://archive.haz3.com/ubuntu gutsy pidgin
deb http://archive.ubuntu.com/ubuntu/ hardy-backports restricted main multiverse universe
deb-src http://archive.ubuntu.com/ubuntu/ hardy-backports restricted main multiverse universe #Added by software-properties
# deb http://ppa.launchpad.net/awn-testing/ubuntu hardy main
# deb-src http://ppa.launchpad.net/awn-testing/ubuntu hardy main
'Computer_language > Linux' 카테고리의 다른 글
우분투 /etc/apt/ 업데이트 파일 (0) | 2009.01.19 |
---|---|
우분투에서 사용하는 명령어 (0) | 2009.01.16 |
리눅스 커널 스터디 참고자료 (0) | 2009.01.12 |
초보자를 위한 리눅스 커널의 메모리 관리 (0) | 2009.01.12 |
GNU Make: 재컴파일을 지휘하는 프로그램(A Program for Directing Recompilation) (0) | 2009.01.12 |
1) 누리엘 루비니씨의 RGE monitor:
미네르바씨 구속이 알려지면서 미국의 블로거 사이에서는 'Let it be a warning to Roubini' (루비니에게 이것이 경고가 되길~) 이라고 농담이 오가곤 했습니다. 그 정도로 미국의 경기를 암울하게 보고 있고 영향력을 행사하고 있는 잘 알려진 뉴욕대 교수 겸 블로거입니다. 미국에서는 'Doctor Doom' 이라는 별명으로도 불립니다. 2006~7년에 한 일련의 예측이 맞아떨어지면서 요즈음 TV에서 자주 볼 수 있습니다.
이 분의 입장을 줄여보면:
불경기는 적어도 2009년 말까지 계속되고, 지금의 주식 시장 수준은 바닥이 아닐 가능성이 아주 높으며, 오바마 정부의 정책은 긍정적이지만 현재 일어나고 있는 일련의 문제들을 근본적으로 해결하기에는 역부족이다
2) Barry Ritzholz씨 의 The Big Picture
미국의 Fusion IQ라는 펀드를 운영하는 분이 직접 운영하는 블로그입니다. 한국에서는 펀드 운영자가 이런 대형 블로그를 가진 경우가 있는지 모르겠습니다만, 2007년경부터 미국의 장래 경기가 좋지 않을 것이라고 예측하였습니다. 방송에도 자주 출연하고, fox news같은 보수적 언론에게는 '비관론자'로 점찍힌 인물. 그러나 최근에 있었던 (12월 말) rally를 정확히 예측하는 등 증명 가능한 실력을 보여주며 신뢰를 쌓고 있습니다.
3) Michael Shedlock : Mish's Global Economic Trend analysis:
개인 투자 자문가인 쉐드락 씨는 아마 Ritzholz 씨보다 한 발 더 나간 암울한 전망을 내놓는, 조금 '확신'에 가득찬 비관론자라고 해야겠습니다.
세계는 디플레에 빠져들 것이며, 특히 중국의 경기가 앞으로 심하게 악화될 것이라고 수많은 데이터와 정보를 보여줍니다. 이분은 대단히 다양한 나라들의 경기를 잘 구축된 방식으로 분석하고 제시하는 것이 독특합니다. 최근에는 스페인과 (이곳의 집값 버블붕괴는 영/미를 능가합니다) 루마니아를 집중분석하더군요. 2008년 12월 로스엔젤레스의 수출입 물동량이 18%줄어들었다든지, 웬만한 경제신문에도 나오지 않을 통계수치를 출처를 제시하며 보여주기도 합니다.
4) Calculated Risk
'인간 맞느냐'라는 말이 나올 정도로 엄청난 양의 글을 올리는 (꼭두 새벽에도 글이 올라오는 경우가 간간히 있습니다), Calculated Risk 라는 웹사이트의 운영자. 상당히 객관적인 분석을 내놓고 있지만 요즈음 현실이 현실이라 그런지 계속 비관적인 시각입니다. 중요하면서도 보통 미디어에 잘 안나오는 정보를 올려줍니다. 하루에 글이 수십개씩 붙는데도, 글 하나당 댓글이 평균 수백개 씩 붙는 블로그. 여기 언급된 블로거 중에서 유일하게 실명 확인이 불가능한 사람이고 누리꾼도 CR 이라고 부릅니다. 그래도 메일 주소는 웹사이트에 붙어있습니다.
5) Karl Denning의 The market ticker
이분은 위의 4사람보다 한/두 술 더 뜬, 거의 궁극의 비관론자입니다.
이분의 논지를 요약해 보면
경제 위기의 근본적 위기는 fractional reserve banking 즉 현대 은행의 reserve 때문이다. 그러므로 연방 준비 위원회 (Federal reserve)는 없어져야 한다.
미국의 재무부 secretary인 Henry Paulson은 체포되어야 하며, 월스트리트 투자은행의 수장들도 체포되어야 한다. 죄목은 '국민의 세금을 포탈하여 은행으로 부어넣은 죄'라고 말하네요.
이쯤되면 좀 어조가 세죠.. 미국과 중국의 미래, 특히 미국의 미래는 '저축', 그리고 '작아지기'라고 말합니다.
위의 경우를 볼때 '미네르바'씨 경우와 비슷한 점은:
1) 경기 전망이 대체로 암울하다.
2) 왕성한 블로그 활동을 한다.
3) 수십만 이상의 사람들이 이런 블로그를 보고 투자에 참조한다.
다른점은
1) 스스로의 웹사이트를 가지고 활동한다.
2) 익명이 아니다 (Calculated risk는 제외).
3) 실제로 경제에 관련된 직장을 가지고 있음이 알려져 있다. (역시 Calculated risk는 제외. 본인은 과거 투자회사에 다녔다고 하지만 확인할 길이 없음).
미국 경기에 대한 다양한 의견을 수렴하자면 흔히 말하는 Bullish한 사람들과 Bearish한 사람들의 의견과 논지를 종합적으로 모아서 판단해야 하니, 이분들의 블로그도 그런 자세로 참조하는 것이 좋을 것 같습니다.
'Financial > How_to..' 카테고리의 다른 글
돈을 모으기 힘든 15가지 이유 (0) | 2009.01.10 |
---|---|
독약 같은 주식 매수 추천보다 돈 되는 뉴스! (0) | 2009.01.10 |
영어로는 Preposition라고 합니다.
전치사는 명사(명사구 포함), 대명사 앞에 놓이며, 뒤에 따르는 명사 또는 대명사와 함께 형용사구 또는 부사구를 만든다.
1) 시간을 나타낼때
① at - 시각
Can you come at nine? (9시에 올 수 있어요?)
② on - 날짜, 요일, 특정한 날
I play tennis on Sunday. (나는 일요일에 테니스를 한다)
③ in - 주, 월, 계절, 년, 세기 등
Are there many holidays in October?(10월에는 많은 휴일이 있습니까?)
④ before <∼전에> after <∼후에> till, until <∼까지>
I played tennis after school. (나는 방과후에 테니스를 했다)
(2) 장소를 나타내는 전치사
① at <∼에(서)>라는 뜻으로 비교적 좁은 장소에 쓰인다.
**in <∼에(서)>라는 뜻으로 비교적 넓은 장소에 쓰인다.
I met him at the station. (나는 정거장에서 그를 만났다)
Let's play soccer in the park. (공원에서 축구하자)
② on (접촉), over (바로 위), above (보다 위쪽에) <∼위에>under <(접촉해서)∼아래에>
There is a bridge over the river. (강 위에는 다리가 있다)
(3) for, by
① for <∼을 향하여(목적)>, <∼동안(기간)>, <∼에게는>, <∼을 향하여>
I bought a book for you. (나는 당신을 위해 책을 한 권 샀다)
② by <∼로(수단, 교통 수단)>, <∼까지>, <∼옆에>
I go to school by bus. (나는 버스를 타고 학교에 갔다)
4. 구
<전치사+명사??대명사>의 형태로 부사처럼 동사를 수식하는 <부사구>와 형용사처럼 명사를 수식하는 <형용사구>가 있다.
The book on the desk is mine. 형용사구 (책상 위에 있는 책)
There is a book on the desk. 부사구 (책상 위에 있다)
1. 전치사의 성격
전치사는 명사·대명사의 목적격 앞에서, 혹은 동명사 앞에서 쓰여 형용사구·부사구를 만든다.
The building on the hill is our school. <명사 수식 : 형용사구>
(언덕 위에 있는 건물은 우리 학교다)
There is a book on the table. <동사 수식 : 부사구>
(탁자 위에 책이 한 권 있다)
2. 전치사와 부사, 전치사와 접속사의 역할을 동시에 하는 것
⑴ in
We live in Seoul. (우리는 서울에서 산다) 전치사 (∼에)
Come in, please. (안으로 들어오십시오) 부사 (안으로)
⑵ On
He goes to church on Sunday. 전치사 (∼에) (그는 일요일에 교회에 간다)
I'll keep a diary from now on. 부사 (계속해서)
(나는 지금부터 계속해서 일기를 쓸 것이다.)
⑶ before
Do you usually study before supper? 전치사
(너는 보통 저녁 먹기 전에 공부하느냐?)
Do you have many things to do before you go to bed? 접속사
(너는 잠자리에 들기 전에 할 일이 많이 있니?)
⑷ after
I play tennis after school. 전치사 (나는 방과후에 테니스를 했다)
I arrived after he left. 접속사 (나는 그가 떠난 후에 도착했다)
Let's wait here until two o'clock. 전치사 (2시까지 여기서 기다립시다)
I'll wait here until he comes. 접속사 (그가 올 때까지 여기서 기다릴 것이다)
3. 중요한 전치사
⑴ during <∼동안>특정한 기간을 나타내는 명사와 함께 쓴다.
He kept sleeping during the lesson. (그는 수업 시간 동안 내내 잤다)
⑵ from A to B, from A till B <A부터 B까지>
It takes thirty minutes from my house to my school.(나의 집에서 학교까지 30분이 걸린다)
He works hard from morning till night. (아침부터 밤까지 열심히 공부한다)
⑶ in front of (=before) <∼앞에>
There was a car in front of the house. (집 앞에 차 한 대가 있었다)
⑷ like <∼처럼>
I want to be a great scientist like Newton.(나는 Newton 같은 위대한 과학자가 되고 싶다)
<주의> like가 동사로 쓰이면 「좋아하다」의 뜻이다.
I like to climb the mountain every Sunday.(나는 일요일마다 등산하기를 좋아한다)
⑸ among <∼중에>
Jane is the most beautiful girl among three.(Jane이 셋 중에서 가장 아름다운 소녀이다)
⑹ between A and B <A와 B사이에>
Many men tried to reach the North Pole between 1898 and 1905.
(많은 사람들이 1898년과 1905년 사이에 북극에 도달하려고 노력했다)
⑺ without <∼없이, ∼않고>
He ran all the way from his school to his home without stopping.
(그는 학교에서 집까지 쉬지 않고 내내 달렸다)
⑻ behind <∼뒤에>
The house stands behind the church. (그 집은 교회 뒤에 있다)
⑼ out of <∼에서>
They made the rings out of gold. (그들은 반지를 금으로 만들었다)
He ran out of the room. (그는 방에서 뛰어나갔다)
⑽ along <∼을 따라>
We walked along the street. (우리는 길을 따라 걸었다)
⑾ on <(표면에 접촉하여) 위에> beneath <(표면에 접촉하여) 아래에>
There is a picture on the wall. (벽에 그림이 한 점 있다)
The ice broke beneathe our feet. (얼음이 우리 발 아래서 부서졌다)
⑿ over <∼(바로) 위에> under <∼(바로) 아래에>
The dog jumped over the fence.
There is a sleeping dog under the table.
⒀ above <∼보다 높은 위쪽에[으로]> below <∼보다 낮은 아래쪽에[으로]>
The moon rose above the mountain. (저쪽 산 너머로 달이 솟았다)
the sun set below the horizon. (지평선 아래로 해가 졌다)
⒁ up <∼의 위쪽으로> down <∼의 아래쪽으로> 모두 방향성이 있다.
He ran up[down] the stairs. (계단 위로[아래로] 뛰어 갔다)
⒂ around <∼의 주위에, 둘레에> 정지 상태
**round <∼의 주위로> 운동 상태
**about <∼의 부근에, 여기저기에> 막연한 주위
The earth move round[around] the sun.
They were walking about the street.
'English > Grammer' 카테고리의 다른 글
can 하고 be able to 의 구별법. (0) | 2009.01.11 |
---|---|
형용사와 부사를 구분할수 있는 방법을 알려주세요. zkfkarlawlgu (0) | 2009.01.11 |
형용사와 부사를 구분할수 있는 방법을 알려주세요. vlffus1 (0) | 2009.01.11 |
1. 준비
- USB 드라이버를 꼽으세요.
- 자동실행이 나오면 취소를 누르세요.
- 이 작업 도중엔 절대로 C: 건 D:건 들어가시면 안됩니다.
- 필요 프로그램
: V3 NEO 최신버젼 : www.ahnlab.com
: ad-aware 최신버젼 : 알아서 받아주세요... 죄송. (ad-aware 한글패치 다운로드 )
: trojankiller : 파일 첨부 해놓았습니다.
팝업 윈도우가 뜨면 꼭 취소를 누르셔야합니다. 확인을 누를시 autorun.inf 파일이 자동실행되어 바이러스가 전염됩니다.
2. 현재 구동중인 바이러스 목록 체크
- 자 일단 Ctrl + Alt + Del 키를 눌러 작업관리자 창을 여세요.
- 응용 프로그램 탭에 현재 실행되고있지 않은 이상한 프로그램이 떠있다면 과감하게 작업끝내기를 누르세요.
- 프로세스 탭에 "SocksA" "algsrv" "taso" "kavo" "FileKan" "EL" 등의 프로세스가 실행되고 있다면 해당 프로세스를 과감하게 끝내버리세요.
아무거나 막 종료하지 마시고 가능한한 바이러스로 의심되는 리스트들을 찾아 '프로세스 끝내기'를 해주셔야 합니다.
3. 시작 프로그램 관리
- 시작 -> 실행 -> msconfig 를 타입 한 후 실행합니다.
- '시스템 구성 유틸리티'가 뜨죠? 그러면 맨 오른쪽의 '시작프로그램' 으로 갑니다.
- 시작 프로그램중에 "SocksA" "algsrv" "taso" "kavo" "FileKan" "EL" 등 처음보는... 바이러스로 의심되는 목록의 체크를 지워줍니다.
(이지 클린 프로그램을 사용하거나 레지스트리를 조작하여 지워주는 방법도 있지만 초보자의 경우는 위 방법으로 해주세요)
SocksA, algsrv, taso, kavo, FileKan, EL 등이 포착될 시 과감하게 체크를 날려줍니다.
4. 실질적인 바이러스의 퇴치
- www.ahnlab.com 에서 V3 NEO 최신버젼을 받으세요.
- C:\에 V3 라는 폴더를 만들고 그 안에 압축을 푸세요. (다른 폴더도 상관 없지만 제가 설명하기 편하게...)
- 시작 -> 프로그램 -> 보조프로그램 -> 명령 프롬프트를 바탕화면에 카피하세요. (쓰기 편하게...)
- 명령 프롬프트 창을 여세요.
- C:\.........(뭐라고 막 써있을것임)................> cd\ [엔터] (루트 디렉토리로 가는 명렁어)
- C:\> cd v3 [엔터] (v3 디렉토리로 가는 명령어)
- C:\V3> v3 c: /a [엔터] (/a 는 모든 파일 검사입니다. 꼭 해야합니다.)
- 이러면 바이러스 체크가 시작됩니다. 바이러스가 뜨면 컴퓨터에서 Beep 음이 들리면서 바이러스를 퇴치할것인지 묻습니다. 무조건 Y를 눌러 파일이 지워지던 개의치 말고 퇴치하세요. 파이팅!
- 같은 방법으로 프롬프트 창을 더 열어서 드라이브마다 다 퇴치를 해줍니다.
- C:\V3> v3 d: /a [엔터], C:\V3> v3 g: /a [엔터]
하드디스크 드라이브와 USB 드라이브를 총 합쳐서 3개면 창을 3개를 열고 해당 드라이브의 바이러스를 전부 검사하고 퇴치해주세요.
- 추가로 창을 하나 더 열고 C:\V3> 까지 이동합니다.
- C:\V3> v3 c:\windows\system32 /a (windows\system32 폴더의 바이러스 검사입니다.)
- 이는 windows\system32 폴더 안에 바이러스가 가장 많이 들어있기 때문에 일단 빨리 한번 검사를 해서 지워주기 위함입니다. 궂이 안해도 상관은 없지만, 효과는 더 좋습니다.
도스 프롬프트 창에서의 V3 NEO 실행방법 예시입니다.
5. autorun.inf 및 여타 파일들의 삭제
- 위에 첨부한 clear.bat 파일을 "c:\" 에 카피하세요.
- 지금 모든 드라이브의 바이러스를 체크하고 있죠? 과감하게 명령 프롬프트 창을 하나 더 여세요.
- C:\.........(뭐라고 막 써있음)...............> cd\ [엔터]
- C:\> copy clear.bat D: [엔터] (또다른 하드디스크 드라이브가 D: 인 경우)
- C:\> copy clear.bat G: [엔터] (USB 드라이브가 G: 인 경우)
- 모든 하드디스크 드라이브와 USB 드라이브에 카피를 해줍니다.
- 그리고는 해당 드라이브에 가서 실행을 해줍니다.
- C:\> clear [엔터] (제가 만든 파일을 실행)
- C:\> D: [엔터] (D:로 이동하는 명령어)
- D:\> clear [엔터] (제가 만든 파일을 실행)
- D:\> G: [엔터] (G:로 이동하는 명령어)
- G:\> clear [엔터] (제가 만든 파일을 실행)
- 이 작업을 한 4~5번정도 해주세요. 한번에 지워지질 않습니다.
※ clear.bat 파일 안에는 다음 명령어들이 들어있습니다.
- attrib (파일 속성을 변경하는 명령어)
: attrib autorun.inf -s -h -r (autorun.inf 파일의 숨김, 시스템, 읽기전용 속성을 해제함.)
- del (파일을 삭제하는 명령어)
: del autorun.inf (autorun.inf 파일을 삭제함.)
clear.bat 배치 파일 내의 명렁어들입니다. 파일로 되어 지속적으로 생성되는 바이러스의 속성을 일반으로 바꾼 후 삭제하여줍니다.
6. 바이러스 퇴치가 끝난 드라이브를 한번 더 검사
- 4 번에서 한것을 한번 더 해주세요. 확인차 한번 더 필요합니다. 퇴치가 덜 되었을 수 있습니다.
- 혹시나 같은 바이러스가 또 나왔다면 해당 파일을 직접 지워주세요.
- 명령 프롬프트에서 삭제하시면 훨씬 수월합니다.
- 삭제가 안될경우 attrib 명령어를 이용하세요.
7. 이제 각종 프로그램들로 마무리를 지어줍니다.
- ad-aware 로 쓰잘데기 없는 애드웨어를 제거하여줍니다.
- 이때 주의할점은 위험성이 높은 애드웨어만 제거하셔야 한다는 겁니다.
- 위험성이 낮아서 초록색으로 나오는 애드웨어들은 애드웨어가 아닐 수도 있기 때문에, 다 지워버리면 레지스트리 오류가 날 수도 있습니다.
- trojankiller 프로그램으로 쓰잘데기 없는 트로이 프로그램/바이러스를 제거하여줍니다.
- 사용방법은 가운데 버튼을 누르면 검색이 시작됩니다.
- 트로이 프로그램/바이러스를 발견하면 창이 뜨거나 할겁니다. 안뜨면 가운데 버튼을 또 눌러주시면 알아서 제거가 되면서 컴퓨터를 재부팅 시킵니다.
8. 위에 첨부한 reg 파일 3개를 실행합니다.
- 첨부한 reg 파일 3개는 컴퓨터의 숨김파일 표시/안함 의 기능 등 레지스트리 이상을 복구시켜줄것입니다.
으하하.
이것으로 웬만한 USB 바이러스는 다 제거가 되실겁니다.
하지만 이 바이러스는 만들어내기가 쉬워 변종이 무척이나 많은게 사실입니다.
그래서 저 방법으로 미처 제거가 되지 않는 바이러스가 있을 수 있습니다.
그땐 증상과 바이러스 이름, 특성 등을 적어주시면 또 연구를 해서 업데이트 하겠습니다.
USB 바이러스 없는 그날까지... 아자!
[UPDATE] 현재까지 찾아낸 관련/변종 바이러스 및 파일 이름 |
autorun.inf (루트) ntdelect.com (루트) ntdeiect.com (루트) - ntdelect.com 의 변종으로 delect 의 L이 대문자 I로 바뀌어있었음. tel.xls (루트) sysinfo2.dll (루트) sysinfo.dll(루트) MYCOM.vbs (루트) Dit.exe (경로 미확인) FilaKan (루트\windows\system32 / 프로세스 및 시작 프로그램) SocksA (루트\windows\system32 / 프로세스 및 시작 프로그램) algsrv (루트\windows\system32 / 프로세스 및 시작 프로그램) EL (루트\windows\system32 / 프로세스 및 시작 프로그램) taso (루트\windows\system32 / 프로세스 및 시작 프로그램) kavo (루트\windows\system32 / 프로세스 및 시작 프로그램) desktop.ini (루트\RECYCLER 내의 모든 폴더) _desktop.ini (루트\RECYCLER 내의 모든 폴더) |
[UPDATE] tess0411(테스리) // 안녕하세요. usb가 바이러스에 걸린것인지 의심되어서 올려주신글대로 진행하던중 clear.bat화일이 없어 질문드립니다. 일단 이작업전까지는 바이러스 검사를 마쳤고 특별한 이상증상은 없었습니다. 죄송한데 usb에 정말 복구해야할 파일이 필요한데요.. 어떻게 좋은 방법이 없나해서요. usb속성에보면 용량은 들어있다고 나오나 막상 usb안에 들어가보면 파일이 하나도 안보입니다. 파일옵션에 숨겨진파일보기 체크해도 마찬가지구요 ㅜ.ㅜ 쪽지 부탁드릴께요.. |
[ANSWER] 이것들을 아래 사항들을 체크하여주세요. 1. USB 드라이브의 전체 용량 (ex. 2Gb USB MEMORY) 2. USB 드라이브의 현재 사용중인 용량 (ex. Use 350Mb / 2Gb) 3. USB 드라이브의 현재 사용하고 남은 용량 (ex. Use 350Mb / 2Gb 남은용량 1650Mb) 일정 용량-사진이나 동영상 등 여러가지 파일을 담아두셨을 시 그만한 용량-만큼의 사용 용량 및 남아있는 용량이 표시가 된다면 분명 파일이 '살아있다는 증거'가 됩니다. 해당 증상은 세가지 상황으로 짐작이 됩니다. 1. 새로운 변종 바이러스의 출현으로인하여 USB드라이브의 모든 파일이 숨겨져있는 상태. 2. 변종 바이러스의 출현으로 인하여 파일 정보는 그대로 있으나 지워져서 사용할 수 없는 상태. 3. USB바이러스의 감염을 오래도록 방치하여 USB 드라이브 자체가 이미 사용 불가능한 상태. 어떠한 증상에서라도 일단 제가 위에 적어놓은 USB 바이러스 퇴치 방법들은 꼭 수행하시는게 좋습니다. 그리고는 재부팅이 꼭 필요할것입니다. 이때 주의할 점은 V3 NEO는 항상 최신버젼으로 하시는게 좋고, 위 사항들을 수행하고 계신 중에는 절대로 USB드라이브든 HDD드라이브든 들어가시면 안된다는겁니다. 바이러스를 완벽하게 퇴치하기 전에 드라이브간의 이동을 수행하시면 바이러스는 또다시 활동을 재개합니다. 이 바이러스는 autorun.inf(자동실행) 를 통해서 실행되거든요. 그리고 바이러스가 '귀하의 컴퓨터 내'에 감염되어서 특정 USB를 액세스 못하게 막아놓은 상태일 수도 있습니다. 이때는 다른 이상이 없는 컴퓨터에 꽃아보시기 바랍니다. (PC방도 좋고 친구네집 컴퓨터도 좋습니다.) 이때 USB가 액세스가 되고 파일도 볼 수 있다면 USB 드라이브에는 바이러스가 없거나 경미한 상태일 수 있습니다. 다른 컴퓨터에서도 같은 증상이라면 USB 드라이브 자체에 심각한 바이러스가 감염이 되었거나, 바이러스의 방치로 인해 이어지는 드라이브 오류 증상일 수 있습니다.
그리고 제가 이 글 바로 위에 적은 바이러스 및 감염파일 리스트 외에도 수많은 변종 바이러스는 존재합니다. 이것들은 꼭 파일로만 존재하는것이 아니고 레지스트리와 실행중인 응용 프로그램 및 실행중인 프로세스 상에도 존재할 수 있습니다. 제가 적어놓은게 전부가 아니라는것을 염두에 두시고 현재 실행중인 프로그램과 프로세스를 잘 확인하여주시기 바랍니다. 바이러스에 감염된 프로그램이나 프로세스가 종료되지 않을 시 바이러스 자체를 찾아내지 못할 수도 있으며 찾아 내더라도 실행중이라는 이유로 바이러스를 치료할 수 없게 될 수도 있습니다. ※ 일반적으로 바이러스의 경우 특이한 이름을 하고 있습니다. 필수 윈도우즈 프로세스의 경우 explorer.exe, svchost.exe, winlogon.exe, lsass.exe 등 윈도우즈 XP 구동시 꼭 필요한 프로세스들로 이루어져있지만, 바이러스의 경우 전혀 쓸모없는 프로세스등이 구동이 됩니다. algsrv, taso, kavo, FileKan, SocksA 등... 이 외에도 의심이 되는 프로세스들은 종료하여주시는게 좋습니다. 실수로 필수 프로세스를 종료하여 윈도우즈에 이상이 올 경우, 그냥 재부팅 하시면 돌아오시기 때문에... 바이러스의 이름을 정확히 모르신다면 한번 이정도 가벼운 모험을 해보시는것도 좋을 듯 싶습니다. 수행 후에도 역시나 파일들이 전혀 보이지 않으시면 제가 말씀드릴 수 있는건 지워진 파일을 살려주는 방법 뿐입니다. 이때는 '완전 삭제된 프로그램을 되살려주는 프로그램'을 사용하여보시기 바랍니다. (제가 즐겨쓰는 프로그램은 Final Data 입니다.) 이도 저도 다 안된다면 A/S 센터에 맡기는것도 좋습니다. USB 메모리의 경우는 파일 복구 서비스가 있는지는 잘 모르겠지만, 외장하드의 경우는 파일복구 서비스를 해주는곳이 있습니다. A/S기간 내라면 공짜일수도 있고요, 손상 정도가 심하지 않다면 저렴한 가격으로 USB 하드를 전체적으로 점검해주고 파일까지 살려주는 서비스도 있습니다. 제가 그 컴퓨터를 눈앞에서 본다면 뭔가 더 방법을 취할 수 있겠지만, 지금 궂이 말씀드릴 수 있는건 여기까지 입니다. 답변이 부족하셨다면 추가 질문을 또 보내주시기 바라며, 네이트온 원격 지원 등으로도 제가 아는 한도 내에서 해결을 해드릴 수 있습니다. 필요하시면 아이디 알려드리겠습니다. 건투를 빕니다. |
[UPDATE] clear.bat |
잘 보니 clear.bat 가 업로드하면서 clear-amitasia.bat 로 파일명이 바뀌어있습니다. 이 파일을 다운받은 후 clear-amitasia.bat -> clear.bat 로 파일명을 바꾸어 사용해주시기 바랍니다. 모든 파일에 -amitsaia 가 붙는군요. 궂이 상관없지만, -amitasia는 파일 다운로드를 하면서 지워주시기 바랍니다. |
[UPDATE] USB 바이러스의 개념 및 새로운 바이러스의 진단 및 치료방법 |
윈도우즈 XP 특성상 '파일을 집어넣을 수 있는 새로운 드라이브' (ex. CD, USB, 외장 HDD, DVD 등)를 삽입하면 autorun.inf 를 실행하게됩니다. USB 바이러스는 이 특성을 이용하여 퍼지는것인데요... 이것은 최초 침투시 '시작프로그램'에 자신을 구동시키는 명령어를 집어넣어 강제 실행하게 만들고, 바이러스가 현재의 프로세스나 프로그램등에 실행이 되어있는 동안에 액세스 하는 모든 드라이브에 (CD나 DVD는 ROM=Read Only Memory 라 상관 없지만 외장 HDD나 FDD, USB 메모리 등은 읽기와 쓰기가 가능하기때문에 바이러스가 퍼집니다. ) autorun.inf 를 생성하여 또다시 그 디스크가 옮겨짐에 따라 바이러스를 재차 전염시키고 또 전염시키는 아주 단순한 바이러스입니다. 컴퓨터로 작업을 해본 사람들이라면 USB메모리나 외장HDD를 사용하는일이 잦아지는데, 이 모든 외장 드라이브의 편리함이 USB 바이러스를 확산시키는데에 한몫을 하는겁니다. 게다가 초기엔 큰 타격이 없기 때문에 별 생각 없이 이를 방치한다는 점이 더 무서운 점입니다. USB 바이러스는 초반엔 다른 드라이브를 액세스 하기 불편해지는 정도의 경미한 피해를 주지만 이 바이러스 자체에 TROJAN(트로이안:트로이 목마에서 비롯된 뜻으로, 바이러스에서는 컴퓨터 내부의 방화벽을 약하게 만들거나 취약점을 이용하여 외부 해커/크래커 등의 침입을 허용시키게 만드는 무서운 바이러스)의 성격이 있기 때문에 해킹을 당하거나 외부로부터 다른 바이러스를 유입시킬 수도 있으며 해당 바이러스가 감염되어있는 디스크가 손상되는 경우도 심심찮게 발생할 수 있습니다. 어지간한 USB 바이러스는 위 방법으로 제거할 수 있다고 말한 이유가 바로 이 USB 바이러스의 개념에 있습니다. USB 바이러스의 개념을 잘 생각해 보았을때, 이것을 치료하는 방법에 대한 제 견해를 논리적으로 풀어보자면 이러한 순서가 됩니다. 1. 실행중인 바이러스의 종료 - 바이러스도 프로그램이기 때문에 종료시킬 수 있습니다. 바이러스를 종료시키면 1차적인 확산은 일단 막을 수 있습니다. 2. 시작프로그램에 등록된 바이러스 프로그램의 명령어를 제거 - 컴퓨터를 리부트 하는 순간 다시 실행되는 바이러스가 대부분입니다. 치료해도 컴퓨터를 리부트 시키면 다시 바이러스가 감염되어있으니 말짱 헛수고이죠. 게다가 바이러스가 실행중이라면 시작프로그램에 등록된 명령어를 지워도 다시 생성시키기 때문에 실행중인 바이러스의 종료가 우선이고, 그 다음엔 시작프로그램에 등록된 바이러스 프로그램의 명령어를 제거하는 것입니다. 3. 실질적인 바이러스의 퇴치 (숙주) - 바이러스 역시 프로그램입니다. 하나의 파일이거나 레지스트리 내에 존재할 수 있습니다. 현재 실행중인 바이러스를 전부 종료시킨 후 그 숙주가 되는 파일을 제거시켜 주면 바이러스는 컴퓨터에 존재하지 않게 됩니다. 4. 잔여 바이러스 파일의 삭제 - autorun.inf 는 3번을 실행중일때도 다시 생겨날 수 있습니다. 이게 있으면 또다시 바이러스가 생겨날 수 있죠. 드라이브를 액세스 하는 순간 또 파일이 생성되는것입니다. 그러니 지워줍니다. 그리고 간혹 바이러스를 퇴치하였으면서도 지워지지 않는 파일들이 있습니다. 게다가 이 파일들은 전부 속성(S-시스템, A-보관, H-숨김)이 걸려있어 삭제가 되지 않을 수 있습니다. 이럴땐 도스 프롬프트나 Total Commander 등으로 파일 속성을 변경시킨 후 삭제하여주시면 됩니다. 이 두가지는 그 당시 실행중일때 윈도우즈 XP와는 별개로 파일을 처리하기 때문에 그냥 윈도우즈 XP상에서 불가능한 파일의 조작을 가능케 해줍니다. 5. 마무리 바이러스 및 트로이 파일들의 삭제 - 그래도 남는 바이러스나 트로이 파일들이 있을 수 있습니다. 확인차 한번 더 체크를 해줍니다. 6. 레지스트리의 정상화 - 안타깝게도 레지스트리 건드리는법을 잘 몰라서 reg 파일을 세가지 올려놓았습니다. 저걸 돌리면 '파일 숨김/표시' 설정이 원래대로 돌아옵니다. 기타 USB 및 일반 바이러스들 역시 구조는 크게 다르지 않습니다. 새로운 바이러스를 맞닥드렸을때도 이러한 바이러스들의 구조와 개념을 잘 이해하신다면 바이러스 퇴치에 아주 큰 도움이 되지 않을까 싶습니다. |
[UPDATE] 매개변수가 틀립니다 |
이러한 메시지가 나오는 경우는 보통 세가지가 있습니다 1. 복사를 행할 파일이 있는 디스크 드라이브의 오류 (불량섹터/물리적 손상) 2. 파일을 복사하여 갖다 놓을 디스크 드라이브의 오류 (불량섹터/물리적 손상) 3. 둘 중 한군데(혹은 양쪽 다)의 드라이브를 연결시켜주는 케이블 및 단자 의 손상 (ex. USB 케이블/USB단자 등) 해당 드라이브의 단자/케이블 등의 오류시엔 연결시키는 단자(USB 등)나 케이블을 바꾸어줘보세요. 특정 USB 단자에 끼웠을 경우 오작동시 다른 USB 단자에 케이블을 접속해보시는겁니다. 디스크 드라이브의 오류(불량섹터/물리적 손상)의 경우에는 Norton Disk Doctor 등의 프로그램을 사용하여 해당 섹터의 사용을 불가능하도록 하거나 불량섹터를 복구시키는 방법도 있습니다. USB 바이러스로 고생하고 계시는 분의 경우 이미 바이러스로 인하여 해당 디스크 드라이브에 손상이 왔을 경우도 있습니다. 미약한 경우 그 디스크 드라이브를 포멧(빠른포멧=X, 보통 포멧=O)하면 어느정도의 오류는 복구가 되지만 심각한경우 디스크를 못쓰게 만드는 경우도 있으니 가능한한 사전에 USB바이러스를 제거하시고 이미 걸리신 경우 절대 방치하지 않으며 어떤 상태에서도 정확한 진단 및 치료를 권고합니다. |
[UPDATE] 바이러스에 감염된 드라이브의 아이콘 우클릭시 auto 메뉴가 사라지면 바이러스가 완벽 퇴치? |
일단 바이러스가 미친듯이 전염되는것에 대해 임시 방편은 될 수 있으나 완벽하게 퇴치되었다고 할 수는 없습니다. USB바이러스의 경우 여러개의 파일로 분산되어 그 역할을 수행해냄으로 그 숙주마저도 완벽하게 퇴치되어야 하는 것입니다. 일반적으로 USB 바이러스는 2~4가지의 '파일'이나 '레지스트리'의 형태로 생성이 되며 그 분류는 다음과 같습니다. 1. autorun.inf 파일 - 각 디스크 드라이브를 액세스 하는것만으로 다른 드라이브를 감염시키게 하며 윈도우즈 시작프로그램(system.ini or msconfig)에 바이러스 숙주파일을 등록, 부팅하는 즉시 바이러스를 실행시킨다. 2. 숙주 파일 - 본격적으로 바이러스를 활동하게 만드는 파일로서 일반적으로 프로세스 상에 상주, 해당 바이러스가 감염된 하드디스크의 파괴/손상을 일으키며 자체적인 프로그램으로 레지스트리를 조작하여 바이러스 파일을 숨기거나 삭제 불가능 상태로 만들어 자신을 보호한다. 3. 숙주 클론 파일 - 특정 바이러스의 경우 숙주의 '클론' 파일을 생성하여 서로를 프로세스 상에 상주시키며 숙주나 클론 파일 둘 중 하나라도 손상이 올 경우 서로를 다시 복구/재생시킬 수 있도록 조치를 취하게 하는 경우가 있다. 4. 레지스트리 - 본격적인 프로그램과 autorun.inf 외에도 자신을 레지스트리 상에 입력시켜 '특정 조건을 갖추게 되면 바이러스를 동작하거나 인터넷으로부터 다운로드'하게 만드는 레지스트리도 존재합니다. 하지만 이는 거의 발견할 수 없습니다. USB 바이러스가 완벽하게 퇴치되었을 경우, 바이러스에 감염된 드라이브의 아이콘을 우클릭하면 당연히 auto메뉴가 뜨지 않습니다. 하지만 바이러스가 완벽하게 퇴치되지 않고 'autorun.inf' 파일만이 지워져있는 상태에도 auto 메뉴는 뜨지 않기 때문에 좀더 확실하게 바이러스를 체크 및 퇴치 해주시는게 좋습니다. 제가 위에 적어놓은 방법들은 이 모든것을 염두에 두고 퇴치하는 방법을 적은 것이기 때문에 정말로 특이하고 색다른 USB 바이러스가 출몰하지 않는 한은 거의 100%에 가까운 퇴치율을 보일것으로 예상됩니다. |
[UPDATE] 감염된 디스크의 사후 문제 |
USB 바이러스는 일반 파일들에 감염되어 파일을 못쓰게 만들거나 감염된 일반 파일을 삭제하지 않고는 퇴치 불가능하게 만드는 형식의 바이러스가 아니라 '새로운 파일을 만들어내는' 형식의 바이러스입니다. 덕분에 바이러스 자체를 완벽하게 퇴치시키기만 하면 디스크 및 파일들이 다시 정상작동하게 됩니다. 하지만 USB 바이러스가 내/외장 HDD 및 USB 메모리를 잠식하여 디스크의 손상이 오거나 디스크를 못쓰게 만들어버릴 경우엔 파일의 손상이 문제가 아니라 디스크 자체에 문제가 걸려버리기 때문에 장담을 할 수는 없습니다. 하지만 다행히도 아직까지 '하드디스크를 완벽하게 폐기처분시켜야 하는 경우'는 제가 본적이 없습니다. 거의 대부분의 경우 바이러스 퇴치 후 디스크를 포멧하거나 디스크 닥터 등의 프로그램으로 디스크의 오류를 복구시키면 간단하게 재사용이 가능해집니다. 최악의 경우에는 디스크를 제조/판매 한 업체에 A/S를 맡기면 다시 사용이 가능해집니다. 문제는 디스크 내에 중요한 보관/작업용 파일들이 많이 있는 경우인데요... 대부분의 USB 바이러스는 그로인한 손상의 정도가 생각보다 약하여 바이러스를 퇴치하는 순간 다시 디스크를 정상적으로 사용할 수 있게 되어 파일이나 디스크에 전혀 손상이 가지 않는 상태로 돌아옵니다. 하지만 퇴치 후에도 디스크를 사용할 수 없는경우, 성급하게 포멧이나 디스크 닥터등으로 오류 복구를 행하지 마시고 해당 디스크를 제조/판매한 업체에 문의를 하여 A/S가 가능한지 알아보고 저렴한 가격으로 디스크 내의 파일들을 복구시키는 방법도 있습니다. 작성자 아미타샤 |
'Computer_language > Computer_care' 카테고리의 다른 글
웹2.0시대 많이 쓰이는 용어들(3) (0) | 2009.01.27 |
---|---|
웹2.0시대 많이 쓰이는 용어들(2) (0) | 2009.01.27 |
웹2.0시대 많이 쓰이는 용어들(1) (0) | 2009.01.27 |
Psiphone : 바레인과 같은 국가의 인터넷 감시를 피하게 해주는 소프트웨어 (0) | 2009.01.12 |
포렌식을 위한 파일 시그니쳐 모음 (0) | 2009.01.12 |