Search
Duplicate

파이썬 모듈을 이용

생성일
2022/05/10 08:26
태그
python
socket
python3
OS 모듈
#OS module
import os
os.getcwd() - 현재 폴더의 위치
os.listdir(’. ‘) → 지정된 경로의 모든 파일들을 리스트 형태로
os.listdir(’/etc’) - etc 폴더 안의 모든 파일들을 리스트로
os.getpid() → 돌고 있는 get 프로그램의 pid를 알 수 있다
os.getppid() → 부모 프로세스의 id를 알 수 있다
os.ctermid() → 원격 접속 했을 때, 디바이스가 뭔지
cd / etc / services
→ 네트워크 서비스에 대한 정보가 있다 ([서비스 name : 해당하는 port Num])
python3
import socket
기능들
socket.getservbyname(’ssh’, ‘tcp’) → 서비스 포트 넘버를 모를 때, ssh 라는 서비스의 포트 넘버를 출력
socket.getservbyport(22) → 포트 넘버(22)는 아는데, 서비스 이름을 모를 때
socket.gethostname() → 호스트 네임 가져올 수 있다
socket.gethostbyname(socket.gethostname()) → ip 주소 출력
socket.gethostbyname(’naver.com’) → 도메인 서버의 ip 주소를 받아온다
struct module
BigE - 배열을 순서대로 메모리에 input (Network Byte
Sparc, RISC
LittE - 배열을 역순으로 메모리에 input
intel
import struct
struct.pack(’>h’, 1)
struct.pack(’>2h’, 1, 2) → 2개의 short 값을 가지는 걸루
struct.pack(’!4h’, 1 ,2 ,3 ,4)
struct.pack(’<h’, 1)
struct.pack(’<4h’, 1, 2, 3, 4)
pack = struct.pack(’!4h’, 128, 350, 120, 123)
pack
struct.unpack(’!4h’, pack) → 바이트 코드에 있는 것들을 튜플로 나타냄
socket.inet_aton(’127.0.0.1’) → 문자열을 가지고 빅엔디안의 바이트로 만들어줌
struct.unpack(’!i’, socket.inet_aton(’127.0.0.1’)) → 다시 정수값으로
k = struct.unpack(’!i’, socket.inet_aton(’127.0.0.1’)) → 다시 정수값으로
hex(k[0]) →16진수로
socket.inet_ntoa(struct.pack(’!i’, #k값))
→ 그러면 ‘127.0.0.1’ 출력된다
y = 0x00ff → 10진수로 255
socket.htons(y) → 65280 출력
hex(65280) → ‘0xff00’ 출력 (뒤집어줌)
socket.ntohs(65280) →255 출력
x = ‘yu cse’
type(x) → 문자열 타입
z = b’yu cse’
z
type(z) → bytes 타입
x = ‘영남대학교’
z=b’영남대학교' → 에러 (한글 못 받아들인다)
x = ‘yu cse’
x.encode() → 문자열을 바이트 타입의 코드로 바꿔준다
z = b‘yu cse’
z.decode() → ‘yu cse’ 출력