티스토리 뷰
카테고리 없음
[파이썬 -3.x] Ubuntu에서 python SOCK_RAW와 함께 socket.ntohs (0x0003) 프로토콜을 어떻게 사용합니까?
필살기쓰세요 2021. 2. 3. 21:25우선 sudo
원시 소켓을 사용하려는 경우 루트가 필요하지만 socket()
잘못 호출하는 경우 입니다. 호스트 바이트 순서로socket()
인수를 받지만 의 8 비트 GGP 프로토콜 값을 16 비트 값으로 변환하면 가능한 최대 프로토콜 값이이므로 잘못된 것입니다 .ntohs()
3
768
255
이렇게 할 수 있습니다.
s = socket.socket(socket.AF_INET, socket.SOCK_RAW, 3)
또는 더 읽기 쉬운 방식으로
s = socket.socket(socket.AF_INET, socket.SOCK_RAW, socket.getprotobyname('ggp'))
출처
https://stackoverflow.com/questions/39920207