상황 :내 클라이언트와 서버 모두 소켓이 열려 있고 연결되어 있습니다. 클라이언트가 아무 것도 쿼리하지 않고 특정 작업에 대해 서버에서 클라이언트로 경보/트랩을 보낼 수 있습니까? UDP, ICMP, ARP와 같은 다른 소켓에는 “연결”이라는 개념이 없습니다. 이러한 통신은 연결되지 않는 통신입니다. 즉, 모든 사람과 모든 사람에게서 패킷을 계속 보내거나 받는 것을 의미합니다. if(socket_desc = -1) 대신 if(socket_desc = -1) if(socket_desc = -1) 동일한 포트에 바인딩된 2개의 소켓을 가질 수 없음을 분명히 합니다. 나는 연결 (socket_desc, (구조형 sockaddr *)&서버, sizeof (서버))에 대한 -1의 반환 값을 얻고있다; 매번. 어느 사람이 그와 함께 저를 도와주세요 수 있습니다, 나는 가상 머신에 우분투 14.04를 실행하고 난 무선 랜을 통해 인터넷 연결을 가지고 있어요 그것은 연결에 영향을 미칠 않습니다. 이 늦은 코멘트, 하지만 당신은이 프로그램 세트 및 설명에 대 한 큰 명예를 받을 자격이. 이것은 내 공격 보안 훈련에 큰 도움이된다. 소켓 관련 활동을 포함하는 악용 및 페이로드의 내부 작동을 이해해야합니다. 이것은 내 현재 연구에 적합합니다.

클라이언트 측에서 소켓을 설정하는 단계는 다음과 같습니다. 소켓은 선박이 하역하고 운송을 수집 할 수있는 항구로 소켓을 상상해보십시오. 리눅스 C 소켓 새로운 comer에 대한 좋은 튜토리얼. 감사. 웹 브라우저는 www.google.com 열 때 동일한 작업을 수행 소켓 이러한 종류의 소켓 클라이언트를 나타냅니다. 클라이언트는 데이터를 가져오거나 검색하기 위해 원격 시스템에 연결하는 응용 프로그램입니다. 가장 먼저 해야 할 일은 소켓을 만드는 것입니다. 소켓 기능은 이 작업을 수행합니다. 다음은 코드 샘플입니다 : 이것은 Linux 시스템의 c 언어로 된 소켓 프로그래밍에 대한 빠른 자습서입니다.

여기에 표시된 코드 조각이 Windows가 아닌 Linux 시스템에서만 작동하기 때문에 “Linux”. 소켓 프로그래밍에 대한 윈도우 API는 winsock라고하고 우리는 다른 튜토리얼에서 그것을 통해 이동합니다. 두 번째 인수는 소켓의 유형입니다. 여기에는 파일이나 파이프에서 처럼 연속 스트림에서 문자를 읽는 스트림 소켓과 메시지가 청크로 읽는 데이터그램 소켓이 두 가지 선택 사항이 있습니다. 두 개의 기호 상수는 SOCK_STREAM 및 SOCK_DGRAM입니다. 세 번째 인수는 프로토콜입니다. 이 인수가 0이면(항상 비정상적인 경우를 제외하고) 운영 체제에서 가장 적합한 프로토콜을 선택합니다. 스트림 소켓의 경우 TCP를 선택하고 데이터그램 소켓의 경우 UDP를 선택합니다. c의 “기본”소켓 프로그래밍을 이해하는 기초에 대한 훌륭한 기사, 이 코드를 사용하지 않는 것이 좋습니다, 나는이 데모 이외의 다른 아무것도 코드를 사용할 수 없게 만드는 몇 가지 문제를 우연히 만났다. 우리는 우리가 성공적으로 서버에서 날짜와 시간을 가지고 있음을 볼 수 있습니다. 이 예제를 실행하려면 서버의 IP 주소를 인수로 보내야 합니다. 테스트 목적으로 동일한 컴퓨터에서 서버 및 클라이언트 예제를 모두 실행하는 경우 위에 표시된 것처럼 루프 백 IP 주소를 사용합니다.

소켓 프로그래밍을 배우기 전에 IP 주소, TCP, UDP를 이해하는 것과 같은 네트워크에 대한 기본 지식이 이미 있는지 확인하십시오. 쓰기 함수를 사용하여 들어오는 연결의 소켓에 무언가를 쓸 수 있으며 클라이언트는 이를 보아야 합니다.

Read all articles in Uncategorized