본문 바로가기

카테고리 없음

SMART FACTORY- C# 네트워트 통신

반응형

소켓 통신 - 구글이나 다음에 접속할 때 보통 움직이는 쪽은 어디 쪽이예요 ? 

보통 2개 있죠잉   벽쪽에 붙어 있는게 서버 클라이언트가 고개님 

은행에서 서버용 소켓을 (암놈)을 준비해야하고 클라이언트 소켓 수컷을 준비해야한다. 

서버는 대기 하고 클라이언트는 필요할 때 마다 와서 넣는다. 

소텟이 종류가 몇종류가 있다 2종류가 있따 서버소켓이 클라이언트 소켓이 있다. 

이 개념을 통해서 코딩해야한다.

인터넷에서 ip = 전화번호 

소켓이 어디있냐  IP Address 

네트워크 어댑터 -? 전화기

IP주소 -? 전화번호

도메인 이름 -? 사람이름

도메인 네임 서버 -? 전화번호부 

DNS 서버 -> 정보를 모두 가지고 있는 곳

구글을 문의하면 IP 를 알려주고 IP를 문의 하면 구글을 알려준다. 

DNS 서버가 없으면 다음 아이피 주소를 모르면 접속할 수 가 없다. 

Ping 핑핑핑핑을 날린다. ? 

cmd -> ping 작성하고 사이트 주소를 적으면 해당 주소의 ip를 알 수 있다. 

온라인 상태도 알 수  있고 

디도스 -> ping을 엄청 보내면 

 

디도스 공격중 하나가 엄청량 양의 ping 을 보내는 것인데 

10만개의 ping을 보내서 마비 시키는 공격이다. 

그래서 위에서 화면에서 보면 다음에서는 ping 에 반응 안하도록 막아 놨다, 

 

TCP/IP (Transmission Control Protocol /internet protocol)

       

        TCP

-------------------------------------

        IP 

-------------------------------------

        ether net - 이더넷 : 

-------------------------------------

랜칩  물리계층 -실제로 존재하는 계층 - > 하드웨어(2layer)

        칩 드라이버  -> 소프트웨어 

 

https://hahahoho5915.tistory.com/15

 

TCP/IP 4계층(TCP/IP 4 Layer)

TCP/IP (Transmission Control Protocol / Internet Protocol) 현재 수많은 프로그램들이 인터넷으로 통신하는데 있어 가장 기반이 되는 프로토콜로 실제 대다수 프로그램은 TCP와 IP로 통신하고 있다. ARPANET..

hahahoho5915.tistory.com

MAC 주소는 절대로 변하지 않는다 -> 사람의 민증 번호 라고 생각하면 편할 듯 

IP주소는 이사가면 변하듯 -> 수시로 변할 수 있지만 MAC 주소는 안변한다.

 

옆자리의 MAC을 알아낼 수 있다. 공유기에게 요청을 하면 알려준다.

 

계층마다 존재한는 프로토콜이 있다. 

최하층에 존재하는 프로토콜이 어더넷

 

우리는 MAC어드레스에 관여하지 않습니다. 

주소 아이피에 관여 합니다. 

 

 

PORT

는 꼭 필요하다 웹에서는 80번으로 통일을 하였지만 

일반적으로 나의 컴퓨터와 연결하기 위해서는 포트 번호가 필요하다 쉽게 말해

IP는 아파트 주소이고  포트는 집 호수라고 생각하면된다.

 

 

 

시큐어 쉘 SSH  암호화

using System;
using System.Net;
using System.Net.Sockets;

class Program
{
    static void Main(string[] args)
    {
        Socket Server = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
        Server.Bind(new IPEndPoint(IPAddress.Any, 7000));
        Server.Listen(100);

        Socket Client = Server.Accept();
        Console.WriteLine("Client Incomming");

        byte[] Buffer = new byte[] { 65, 66, 67, 68 };
        Client.Send(Buffer);


        Client.Close();
        Server.Close();
    }

여기서 c#을 먼저 실행하고 나서 telnet을 실행해야 진행이된다.

 

반응형