전체 글 402

[Window] 윈도우 IIS 7.0 메소드 설정(허용/거부)

윈도우 IIS 7.0 메소드 설정 방법 입니다. appcmd 프로그램을 이용해 명령줄에서 변경을 하거나, web.config 에 직접 수정하여 변경할 수 있습니다. 1. 직접 수정 1) %systemroot%\system32\inetsrv\config\applicationHost.config 파일 실행 2) Ctrl+F 를 이용하여 검색 3) 아랫줄에 으로 내용 추가 -> 주의 : 아랫줄에 작성할 때 보다 한칸 더 들여쓰기가되어야합니다. ex) 2. cmd에서 설정 - 허용/거부 추가 : 직접 수정에서 를 입력하는 행동 - 허용/거부 제거 : 직접 수정에서 를 삭제하는 행동 cd %systemroot%\system32\inetsrv\ appcmd set config /section:requestfilte..

[Network] 동적 라우팅 OSPF(Open Shortest Path First) 개념 및 설정 방법

1. OSPF(Open Shortest Path First) 란? - Link-state 라우팅 프로토콜 - 최적의 경로를 계산할 때 SPF(Shortest path First) 또는 다익스트라(dijkstra) 알고리즘을 이용하여 각 목적지 까지의 최적 경로를 계산 - Metric은 cost 사용 (10^8/Bandwidth(bps)) - Multicast를 사용하여 정보를 전달 -> 224.0.0.5 (DR이 DROTHER에게 전송할 때 사용) -> 224.0.0.6 (DROTHER가 DR에게 전송할 때 사용) - AD값은 110을 사용함 2. OSPF의 장점 1) OSPF는 area 단위로 구성되어 대규모 네트워크를 안정되게 운영할 수 있음 -> 특정 area에서 발생하는 상세한 라우팅 정보가 다른..

Network/Network 2020.01.10

[Network] 동적 라우팅 EIGRP(Enhanced Interior Gateway Routing Protocol) 개념 및 설정 방법

1. EIGRP 란? - Distance Vector + Link-State 방식이 합쳐진 프로토콜 - Cisco에서 제작한 Cisco 전용 라우팅 프로토콜 - *DUAL(Diffusing Update Algorithm) 알고리즘 사용하여 Successor(최적 경로)와 Feasible Successor(후속 경로) 선출 - Router 정보 전송을 위해 IP 프로토콜 88번 사용 - AD값은 내부 90, 외부 170 - AS(Autonomous System) 단위로 구성 - Classless Routing Protocol 2. EIGRP의 장점과 단점 1) 장점 - Fast Convergence (빠른 수렴) - Unequal cost 부하분산 지원 - OSPF에 비해 설정이 간단함 2) 단점 - Ci..

Network/Network 2020.01.10

[Network] 동적 라우팅 RIP(Routing Information Protocol) 개념 및 설정 방법

1. RIP(Routing Information Protocol) 이란? - RIP는 거리 벡터(Distance Vector Rotung Protocol) 방식을 사용하는 대표적인 프로토콜 - version1 의 경우 classful 밖에 사용 못하여 version2가 사용됨 (version2는 classless 사용 가능) - routing 정보 전송을 위해 UDP 520번을 사용 - AD값은 120 - 주로 작은 규모나 대형 규모의 말단(특정한 부서 등)쪽의 작은 네트워크를 설정할 때 사용 2. RIP의 단점들 1) Metric을 Hop-count로 사용하여 Link의 속도를 반영하지 않음 2) 최대 Hop-count가 15이기 때문에 대형 네트워크에서 사용 불가 (Hop-count가 16이면 도달 ..

Network/Network 2020.01.10

[Network] TCP Header 구조

Source Port : 출발지 포트번호 Destination Port : 목적지 포트번호 Sequence Number : byte 단위로 순서화되는 번호(TCP 세그먼트의 첫번째 byte에 부여됨)이며 이것을 통해 신뢰성(*3Way Handshake) 및 흐름제어(sliding Window) 기능을 제공하게 됩니다. Acknowledgment Number : 수신하기를 기대하는 다음 byte 번호 (마지막으로 수신에 성공한 번호의 +1) Offset : 헤더 길이 필드이며 IPv4와 마찬가지로 나누기 4 계산 후 2진수로 작성됨 Reserved : 예약된 필드, 현재 사용되지 않음 Window : 자신의 수신 버퍼 여유용량 크기를 통보하여 얼마만큼의 데이터를 받을 수 있는지 상대방에게 알려주어 흐름제어..

Network/Network 2020.01.08

[Network] IPv4 Header 구조와 조각화

Version : IPv4는 4bits를 사용하며 아직 IPv6는 거의 사용하지 않기 때문에 고정적으로 4bits가 들어감 IHL (Header Length) : 실제 헤더 길이 필드, 나누기 4로 계산 후 2진수로 작성하면 값이 나오고 옵션이 붙지 않을 경우 5bits 가 들어감 Type of Service (TOS) : 서비스의 품질을 나타내는 필드이지만 현재는 사용되지 않음 Total Length : 헤더뿐만이 아니라, 페이로드까지 합쳐진 길이 Identification, IP Flags, Fragment Offset : 데이터의 크기가 커져서 짤라졌을때 알아볼 수 있는 값들 - Identification : 짤라진 데이터들이 원래 하나였다는걸 알기 위해 똑같은 ID값을 부여함 - IP Falgs ..

Network/Network 2020.01.08

[Network] ARP Header 구조

ARP(Address Resolution Protocol)란? 같은 네트워크 대역(정확히는 LAN 구간)에서 통신을 하기 위해 필요한 MAC 주소를 IP주소를 이용해서 알아오는 프로토콜 입니다. 짧게는 논리적인 주소(IP)를 이용해 물리적인 주소(MAC)를 알아오는 프로토콜이라고 합니다. Hardware type(HTYPE) : 네트워크 유형을 뜻하지만 일반적으로 사용되는 Ethernet 환경은 0x0001 으로 세팅 Protocol type(PTYPE) : 프로토콜을 정의합니다. IPv4의 경우 0x0800 으로 셋팅되며, 아직 IPv6는 거의 사용되지 않기 때문에 보통 0x0800 으로 세팅 Hardware Address Length : 하드웨어 주소(MAC Address) 길이를 정의하며 Ether..

Network/Network 2020.01.08

[Python 3.7] 딕셔너리 표현식 특정 키-값 삭제하기 (RuntimeError: dictionary changed size during iteration)

딕셔너리 표현식을 이용한 특정 키-값 삭제하는 방법 입니다. (RuntimeError: dictionary changed size during iteration) 잘못된 코드 a = {'one': 1, 'two': 2, 'three': 3, 'four': 4} ## 예시를 위해 간단한 딕셔너리 생성 for key, value in a.items(): if value == 3: a.pop(key) ## 값이 3이면 키-값 쌍 삭제 print(a) 실행 결과 for문에 의해 반복하던 도중에 값이 3인것을 찾아 삭제 후 딕셔너리의 크기가 바껴서 생기는 에러 입니다. 위처럼 간단한 코드로 삭제는 정상적으로 되나, for문안에 다른 내용들이 있을 경우 for문이 멈추게 되면서 정상적인 기능을 수행할 수 없게 됩니..

Programming/Python 2019.12.24

[Python 3.7] 텍스트안의 특정 문자열 카운트 하기

Python 텍스트안의 특정 문자열 카운트 하는 방법 입니다. import string paragraph = input() words = paragraph.split(' ') count = 0 텍스트 안에 특정 문자열을 카운트(또는 검색)할때에 특수문자(. , 등)가 들어있을 경우 재대로 카운트하지 않기 때문에 이후 특수문자를 제거하기 위해 string 을 import 합니다. 입력받은 값을 paragraph 변수 안으로 집어 넣은 후 split(' ') 을 사용하여 공백을 기준으로 문자열을 나눈 후 words 변수안에 넣어줍니다. count는 이후 특정 문자열을 카운트하기위한 변수 입니다. for i in range(len(words)): search = words[i].strip(string.punc..

Programming/Python 2019.12.23

[Bash Shell Script] 쉘 스크립트 if조건문 라인에서의 "[: too many arguments" 에러 발생

Bash Shell Script의 "[: too many arguments" 에러는 저마다 요인이 좀 다를 수 있습니다. 1. 어떤 값을 입력해야하는 상황에서 엔터를 쳤을때 발생하는 경우 2. 값을 재대로 비교하지 못하거나 아예 스크립트 자체가 실행되지 않는 경우 대표적으로 위의 두가지 경우가 있는데, 보통은 if문 조건식에 있는 변수값이 비어버리는 경우에 발생 할 수 있습니다. if [ $result == "1" -o $result == "2" ]; then echo "good!" fi 위와 같은 간단한 조건식이 있을 때 result 변수값이 비어버릴 경우 문법에 의해 조건식이 성립될 수 없어 "[: too many arguments" 에러가 발생 합니다. 해결 방법은 비교적 간단한데, 변수명을 큰따옴..