전체 글30 해커처럼 IP 주소를 추적하는법! 우리는 한번이라도 VPN을 사용한 적이 있을 것 이다. VPN과 프록시는 우리를 숨겨준다. 해커들도 이런 방법을 사용한다. VPN을 사용하거나, 프록시 아님 툴들을 직접 만들거나 직접 서버를 구축하거나... 여러가지 방법을 사용해서 자신을 숨긴다. 세계의 모든 폐킷에서는 IP주소가 있다. IP 주소를 추적하는 것도 출발지의 IP주소를 찾아내는 것 이다. 어렵다 위에서 말했듯이 보통 VPN 혹은 프록시를 사용해서 IP주소를 숨기기 때문이다. 그래도 일단 알아보자. 메일을 활용하기 메일로 IP 주소를 추적하는 방법은 많이 사용되고 있다. 일단 메일의 오리지널을 파싱해보자 몇일 전 노션에게 받은 메일 아무거나 확인하였다. 더보기에서 원본 메일을 확인하면 이렇게 나와있다. Delivered-To: wndmsrl.. 2023. 8. 30. Who is Whois? Whois가 뭘까? 일단 DNS를 알아야 한다. DNS란 DNS는 Domain Name System의 약자로 IP주소를 사람들이 이해하기 쉬운 명칭인 도메인으로 매칭해 주는 시스템이다. 전 세계에서 DNS 서버는 전 세계 13대가 있으며 계층 구조를 가지고 있다. 최상위 DNS를 루트 DNS 서버라고 한다. 네트워크 초반에는 DARPA이라는 기관이 유일하게 도메인을 관리했다. 도메인 관리를 하나의 기관에서 하니 등록 여부 혹은 관리자 등을 확인할 필요가 생겼다. 이때 도메인을 확인하고 사람, 인터넷을 찾기 위해 Whois라는 프로토콜이 만들어졌다. 지금도 Whois는 사용이 가능하다. 현재 확인할 수 있는 정보에는, 도메인 등록, 관리 기관 정보, 인터넷 자원 정보, ip주소, 등록자, 관리자, 연락처 .. 2023. 8. 26. 네트워크 계층 구조란? (OSI 7계층) 네트워크를 굳이 계층화 시키는 이유가 뭘까? 만약 어떤 웹 사이트에 요청을 보낸다고 해 보자. 일단 웹 사이트의 네트워크 주소를 확인하고, 내가 사용중인 공유기를 거쳐서 거대한 네트워크에 수많은 라우터들을 각각 거치고 웹 사이트에 도달한다. 이런 과정에서 많은 네트워크 장비들의 프로토콜을 만들고 데이터를 전송하면 매우 복잡하고 힘든 일이다. 그래서 네트워크를 계층화를 시켜서 유지보수, 변경 등의 문제를 편리하게 해결하기 위해서 필요하다. OSI 7계층 ISO라는 기구는 네트워크 표준 모델의 필요성을 느꼈고 OSI 7계층을 발표하였다. 위의 그림처럼 7개의 계층이 있다. 물리 계층 (L1) 시스템 간의 물리적인 연결을 의미하는 것 이다. 실제 장치를 연결 할 때 전기적 물리적 세부 사항들을 정의한다. 물리.. 2023. 8. 18. 프로토콜이란? 프로토콜이란 컴퓨터 사이에서 메시지를 전달하는 과정이다. 예를 들어서 이스라엘 사람과 시리아 사람이 서로 대화를 할 때 언어가 다르니 서로 영어를 사용하기로 했다. 이때 영어가 프로토콜이라고 할 수 있다. 프로토콜의 3요소 언어에는 단어 문법 등등이 있듯이 프로토콜에도 구문, 의미, 타이밍이 있다. 이 3가지가 정해져야지 서로 교환이 가능하다. 구문 구문은 주+동+보 같은 것을 의미한다. 데이터의 구조나 포맷을 의미한다. 데이터의 이 부분은 이것을 의미하고 저 부분은 저것을 의미한다는 구문을 갖고 있다. 예를 들어서 앞 4비트는 목적지 주소, 중간 8비트는 전송 데이터라고 정의하는 것이다. 의미 데이터의 각 부분이 무엇을 뜻하는지 알 수 있게 미리 정해둔 규칙이다. 이 규칙은 오류 제어, 동기 제어, 흐.. 2023. 8. 17. FE는 완벽하고, BE도 완벽한데.. 그 다음은? 사실 내가 직접 FE나 BE에 참여해 본 프로젝트가 없어서 정확하지 않을 수 도 있다. 훈수환영!! FE가 BE한테 요청 보내는건 알겠지만 BE에서 어떻게 처리하고 다시 받고 그런 과정들을 잘 몰라서 공부해 보았다. FE에서 요청보내기! XMLHttpRequest 웹 브라우저와 서버가 데이터 교환을 위해서 사용되는 js api이다. 웹 페이지 전체를 다시 로드할 필요가 없는 점이 장점이다. const button = document.getElementById("loadTimeButton") button.addEventListener("click", function() { var xhr = new XMLHttpRequest(); xhr.onreadystatechange = function() { if (x.. 2023. 8. 15. 패킷트레이서 사용해보기 시스코 패킷 트레이서는 네트워크 시뮬레이터이다. 네트워크 공부할때 도움이 많이 되고 장비들도 이해하기 쉽다. 네트워크 시뮬레이션 그럼 일단 간단하게 PC 2대를 스위치로 연결을 해 보겠다. 첫번째로 나의 내 친구의 PC를 스위치로 연결했다. 각각 PC는 이렇게 설정했다. 여기서 이제 내가 내 친구에게 ping을 날릴것이다. 터미널에서 날려보니 아주 잘 날아갔다. 물론 더 간편하게 패킷을 보내는 방법도 있다. 이 편지버튼을 누르고, 수신 PC와 송신 PC를 순서대로 클릭하면, 이렇게 확인할 수 있다. 상태는 성공적이라고 나온다! 책에 있는 예제를 만들어보면, 이렇게 만들었다. 각 PC는 이렇게 설정했고, 라우터는 이렇게 설정했다. PC 4에서 PC 7로 패킷을 보내보면 이렇게 성공이 뜨는것을 볼 수 있다... 2023. 8. 15. Dive into Django Django란, 웹 애플리케이션을 효율적이고 빠르게 개발하는데 사용되는 파이썬 오픈소스 웹 프레임워크 이다. 실제로 웹을 개발할때 공통적으로 개발해야하는 인증, DB, 쿠키 등등을 app이라는 Django의 특별한 기능으로 재사용이 가능하게 만들어 쉽고 빠르게 개발할 수 있게 해준다. Django는 ORM : DB와 상호작용할때 SQL을 사용하지 않고 Python 객체를 사용하여 DB를 다룰 수 있게 해준다. URL 라우팅 : 웹 애플리케이션에 각 URL 패턴에 매치되는 각 view함수나 class를 매핑해준다. 인증과 보안 : 사용자 인증, 보안관리 등을 내장된 기능으로 편리하게 사용할 수 있다. 애플리케이션 재사용 : app을 모듈화하여 재사용해 같은 기능들을 편리하게 사용할 수 있다. 관리자 인터페.. 2023. 8. 10. 명령코드랑 오퍼랜드가 맨날 붙어있는 이유(명령어 구조) 명령어란, 명령어는 컴퓨터에서 실행할 작업과 동작을 나타내는 명령이다. CPU는 메모리에서 명령어를 가져와 해석하고 실행한다. 명령어은 프로그램의 기본 구성 요소이고, 컴퓨터 시스템의 동작과 프로그래밍을 할때 중요한 개념이다. 명령어 구조 명령어 구조는 여러 부분으로 나누어진다. 컴퓨터 아키텍쳐마다 다 다르기 때문에 주로 사용되는 명령어 구조인 명령코드, 주소지정방식, 오퍼랜드로 되어있다. 명령코드 (OP code) 명령코드란, 컴퓨터에서 실행할 명령을 나타내는 부분이다. 명령코드는 CPU가 해석하며 동작을 수행한다. 각 명령어들은 고유한 코드인 명령코드가 할당되어 있으며 명령코드로 각각 명령의 작업들을 구별한다. 명령코드는 보통 이진수로 되어 있으며 길이는 컴퓨터 아키텍쳐마다 다를 수 있다. 명령어 집.. 2023. 8. 2. 네트워크가 뭐야? 네트워크는 각 노드(분산되어 있는 컴퓨터)들이 자원을 공유할 수 있게 하는 디지털 전기통신망중 하나이다. 각 검퓨터 장치들은 데이터 링크를 사용하여 서로에게 데이터를 교환한다. 각 데이터 링크들은 광케이블과 같은 유선 케이블 혹은 와이파이와 같은 무선매체를 사용하여 연결된다. 좋은 네트워크와 나쁜 네트워크를 나누는 기준은 성능, 신뢰성, 보안성이 있다. 성능 성능은 처리량과 지연시간으로 구분된다. 네트워크 성능을 측정할때에도 처리량과 지연시간으로 측정한다. 처리량 : 데이터 링크를 통해 전달된 시간당 데이터 양 지연시간 : 한 장치에서 다른 장치로 데이터가 전달되는 시간인 경우시간, 요청에 대한 응답에 소요된 시간인 응답시간, 출 발지에서 목적지를 거쳐 돌아오는데 걸리는 왕복시간이 있다. 신뢰성과 보안성.. 2023. 8. 1. 이전 1 2 3 4 다음