카테고리 없음

[파이썬 -3.x] Ubuntu에서 python SOCK_RAW와 함께 socket.ntohs (0x0003) 프로토콜을 어떻게 사용합니까?

필살기쓰세요 2021. 2. 3. 21:25

우선 sudo원시 소켓을 사용하려는 경우 루트가 필요하지만 socket()잘못 호출하는 경우 입니다. 호스트 바이트 순서로socket() 인수를 받지만 의 8 비트 GGP 프로토콜 값을 16 비트 값으로 변환하면 가능한 최대 프로토콜 값이이므로 잘못된 것입니다 .ntohs()3768255

이렇게 할 수 있습니다.

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