본문 바로가기

유태커

http 패킷분석 이번포스팅은 웹브라우저를 이용해 웹페이지에 접속시 패킷을 어떻게 주고받는가에대해서 포스팅해보록하겠다. 시작하기전에 Client : 192.168.0.2 Server : 216.58.200.3 알아두자 먼저 와이어샤크를키고 인터넷 구글에접속하였다. 그다음 필터에 http를 주었다. 웹은 tcp로 통신하며 80번포트를 사용한다. 필터에 http 말고도 tcp.port == 80 // 출발지나 도착지포트가 80번일경우 tcp.dstport == 80 // 목적지 포트가 80번일경우 tcp.srcport == 80 // 출발지 포트가 80번일경우 를이용해서 4가지중 하나만줘도 상관없다 필자는 http 필터를사용햇다 http 필터를사용하고나니 이런식으로 떳다 source는 출발지 Destination 목적지 하나.. 더보기
NetWork TCP 연결과정 이 포스팅에는 TCP통신을할때 그과정이 어떻게 만들어지는지 포스팅해보겠다. 아래 그림을 토대로 설명해보도록하겠다. syn : 연결요청을위해 보내는값이다. ack : syn을 전송하는 장비에게 syn값을 잘보냈다고 승인하는 값이다. 먼저 클라이언트는 서버에게 연결요청을한다. 여기서 보내는값이 syn값이다 만약 클라이언트가 syn값을 0을보냈다면. 서버가 syn값을 잘전송받았다면 잘전송 받았다는 의미로 받은 syn 값에 +1을해 ack값을넣고 새로운 syn 값과 ack 값을 동시에보낸다 이떄 서버에서 클라이언트로 보내는 syn값은 다음 전송을받을때 중요하다 서버에서 syn+ack 값을 받게되면 클라이언트는 잘받았다는 의미로 받은 ack값에 +1을 해 서버에게 다시보낸다 이로서 클라이언트가 ack값까지 보내게.. 더보기
각종 pcap 샘플 얻을수있는 사이트 구글링하다 유용한사이트를 발견하였다 각종 pcap 파일 샘플을 얻을수있는곳이다. 여기서 받아서 한번 분석해보는것도 좋다. 그리고 여기 사이트 뒤져보니 pcap 자료말고 다른강좌나 여러가지 좋은것들이 많은것같다. 좋은 사이트 찾아낸거같다. 주소는 오른쪽을 클릭하시길 바랍니다 -> Click me 더보기
Linux 텔넷설정하기 telnet 이란? 다른장소 또는 다른컴퓨터에서 서버에 접속하기위해 사용하는 프로토콜(서비스) 이다. 텔넷을 이용해 원격으로 서버컴퓨터에 접속해 여러가지 작업을할수가 있다. 리눅스에서 텔넷 설정하는 방법을 적어보도록하겠다. 필자는 우분투 16.04 LTS 사용중이다 먼저 root 계정 사용자가 맞는지 아닌지 확인하길바란다. 구별방법은 자신 쉘앞에 ~$ 라적혀있으면 일반사용자 계정이구 #이 붙어있으면 루트사용자 계정이다. 지금부터 일반사용자는 모든명령어에 sudo를 붙여주길바란다. sudo는 루트권한 으로 해당쉘을 실행하겠다는것이다. 먼저 텔넷을 설치해주자. 1 apt-get install telnet cs 설치가 끝나면 xinted도 같이 설치해주기바란다. 텔넷설정을위해 꼭 깔아야한다. 1 apt-get.. 더보기
재귀함수란 무엇인가? 재귀함수란 무엇인가? 재귀 함수(recursive function) 란? 직간접적으로 자기 자신을 호출시키는 함수이다. 재귀함수가 쓰일때는? 불필요한 변수를 줄이고 반복문을 사용하지않고도 반복문처럼 사용할때 쓰이는것이 재귀함수이다. 재귀함수 사용시 유의할점은? 반드시 끝나는 지점을 정해줘야한다. 그렇지않게되면 함수가 무한적으로 돌기때문에 프로그램이 죽을수가있다. 재귀함수는 반복문보다는 빠르지않는것으로 안다 그러므로 불필요하게 사용하지않는것이 좋다. 큰값은 재귀함수로처리하지말고 반복문으로 처리하는것이 좋다 간단한 재귀함수 예 1부터 n까지 출력하는 프로그램을 만들때 재귀함수로는 이런식으로 만들수가있다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 #include void re(int a,in.. 더보기
C/C++ 팩토리얼 재귀함수 재귀함수를에대한 설명 -> Click me 팩토리얼을 재귀함수로 이런식으로 짤수가있다. 팩토리얼에대한 자세한설명은 아래링크를 참조하길바란다. 팩토리얼 설명 1 2 3 4 5 6 7 8 9 10 11 12 13 #include using namespace std; int rr(int n) { if(n==0) return 1; return n * rr(n-1); } int main() { int n; cout n; cout 더보기
C/C++ 1~n까지 총합을 구하는 재귀함수 재귀함수를에대한 설명 -> Click me 1~n까지 총합을 구하는 프로그램을 재귀함수로 만들어보자 1 2 3 4 5 6 7 8 9 10 11 12 13 #include using namespace std; int rr(int n) { if(n 더보기
C/C++ 배열 회전(숫자로테이션) 이문제는 codeup.kr 에서 나온문제이지만 교수님들이 과제로 내기 딱좋은 과제다. 반복문을 얼만큼 잘활용하냐 알수있는 문제인거같다. 문제는 요렇다 input값 첫줄에는 입력받을 데이터의 갯수 input값 두번째줄에는 데이터를 넣는것이다. 출력값은 사진처럼 다음줄이 될때마다 맨앞에있던것은 뒤로가고 그다음부터 출력이런식이다. 아주 과제로 내기 딱좋다. 나는 C++을 사용해짯으며 C++이나 C로짜나 짤수만잇으면 좋은것이다 다른 사람들은 vector(벡터)를 사용해서 짯는데 나는 벡터를 사용할줄몰라서 그냥짜봣다. 내코드를 요렇다 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 #include using namespace std; int main() { i.. 더보기
codeup.kr 1503 문제 오랜만에 잠이안와서 코드업을 풀어봤다 문제번호는 1503번문제 지그재그 배열출력문제다 쓸대없이 길어서 자괴감든다. 문제는 요런식으로 출력을 지그재그로 출력하라는 모양이였는데 처음에는 그냥일반적으로 출력해서 틀렷다 그러다가 지그재그로 고치는데 좀걸렸다 오랜만에 푸니깐 머리가 안돌아가나보다 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 #include int f(int a,int b,int max) { int temp=a-b; if(max!=temp) { for(int i=a;i>temp;i--) { std::cout 더보기
python 공부 함수 이번 강의는 함수에대해 작성해보록 하겠습니다. 먼저 함수란 무엇이냐하면 함수는 코드가 반복되는부분을 줄여주고 유지 보수를 쉽게하기 위해서 함수를 사용합니다. 무슨말이냐면 1학년 1반부터 3반까지 학생들 정보를 처리하는 코드를 작성할때 몆가지 값만빼고 나머지는 똑같은 방법을 처리하니깐 코드가 같을수박에없습니다. 그코드를 반복적으로 적지않고 하나의 함수를 만들어서 필요할때마다 함수를 호출해서 사용하는 방식으로 함수를 사용합니다 자그럼 이제 코드를 볼까요 함수는 이런식으로 생겻습니다 def (...): 자그럼 위를 통해 덧셈 함수를 만들어보겠습니다 1 2 def add(a,b): return a+b cs 위 코드를 보면 add라는 이름을 가진 함수는 a,b라는 인자를 받고 리턴값으로 a+b 를더한다 는말입니다.. 더보기