-
1010 tueToday I Learned 2023. 10. 10. 16:49
파이썬 네트워크 프로그래밍 모듈
- ipaddress 모듈
- socket 모듈
객체(속성,메서드)
ipaddress.ip_address // ip 주소 객체 생성
ipaddress.ip_network // 네트워크 주소 객체 생성
192.0.2.1 에서 앞에 3칸 네트워크주소, 마지막 256개의 주소 범위 할당 ㄱㄴ
import ipaddress net4 = ipaddress.ip_network('192.0.2.0/24') print(net4) print(net4.num_addresses) #해당 네트워크가 가질 수 있는 ?개수? #네트워크가 256명을 가질 수 있고 net5 = ipaddress.ip_network('192.0.2.0/24') host_list=net5.hosts() print(list(host_list)) for x in net5.hosts(): print(x) #원래 할당 호스트 개수는 8개니까 256개가 되지만, 실제 할당되는 주소는 1부터 시작해서 254까지hosts 특정네트워크에서 호스트에게 할당할 수 있는 아이피주소객체를 value 형태 [] 리스트 안에서 #만들 수 있는 주소공간을 전부 만들어서 리스트..?
네트워크에서 사용 가능한 호스트 주소 알아보기
위의 에디터 사용
v네트워크 주소 객체를 생성하고 호스트 주소를 3개씩 출력!r 스트링값으로 출력해라라는 것
시험 ? ) ?속성이나 메서드 출력할 수 있다 까지만 생각하고 나머지는 복잡하게 생각하지 말 것
v네트워크 주소 객체를 생성하고 호스트 주소를 3개씩 출력 1. 정답안. 2. 내 오류코드안import ipaddress NETWORKS = [ '10.9.0.0/24', 'fdfd:87b5:b475:5e3e::/64', ] for n in NETWORKS: net = ipaddress.ip_network(n) #네트워크 주소 객체 생성 print('{!r}'.format(net)) #repr(net) for i, ip in zip(range(3), net.hosts()): print(i, ': ', ip) print()
import ipaddress NETWORKS = [ '10.9.0.0/24', 'fdfd:87b5:b475:5e3e::/64', ] for n in NETWORKS: net = ipaddress.ip_network(n) print('{!r}'.format(net)) #repr(net) for i, ip in zip(range(3), net.hosts()): print(i, ':', ip) print()
zip :묶어서 주는 것, 서로다른 리스트를 한쌍으로 만들어주는 것
unzipip_address
ip_network
ip_interface
위에 순서대로 호스트, 네트웤, 인터페이스
각각의 속성과 메소드 이해하면된다. 이정도만 이해하면 됨, 객체를 찍어낼 수 있다.
socket 모듈
socket 이란? 통신할 수 있는 접점. (양방향의) 종단점 endpoint
양방향 통신 채널의 종단점
논리적
통신을 위해서는 프로그램이 소켓에 접속해야함
데이터 주고받는 건 소켓에 포함되어잇는 메서드 통해상대방에대한 주소 객체 만들고, 내 소켓 만들고 서로 연결시키면 통신환경을 만드는 것임
소켓에 제공되는 센드 리시브 같은 메소드통해 주고 받음됨
send, receive같은 프로그램내, 같은 컴퓨터내 다른프로세스간, 인터넷에 연결된 컴퓨터 간에도 가능
'Today I Learned' 카테고리의 다른 글
[ TIL 230601 ] (0) 2023.06.02 [ TIL 230524 ] (0) 2023.05.25 [ 221228 WED ] TIL (0) 2022.12.28 [ TIL 221120 ] (0) 2022.11.21 [ TIL 221028 ] (0) 2022.11.20