Ubuntu 16.10에서 IP 옵션이 제거되었습니다.

Ubuntu 16.10에서 IP 옵션이 제거되었습니다.

실험을 실행하기 위해 Ubuntu 16.10을 사용하고 있습니다. 나는 사용한다파이썬 스케이프스위치를 통해 연결된 시스템에 두 개의 패킷을 보냅니다. 첫 번째 패킷은 두 번째 시스템의 nc 응용 프로그램이 수신한 일반 TCP SYN 패킷이며 해당 SYN/ACK 패킷을 볼 수 있습니다. 그러나 내가 보낸 두 번째 패킷에는 IP 옵션이 포함되어 있었습니다.느슨한 소스 라우팅. 두 번째 패킷은 다른 시스템에서 수신되었지만(wireshark에서 볼 수 있음) 애플리케이션에 전달되지 않으므로 SYN/ACK가 전송되지 않습니다. 왜 이런 일이 일어나는지 알고 싶습니다.

이것은 내가 사용하고 있는 scapy 코드입니다:

패킷 1:

pkt1=IP(src="10.0.0.2", dst="10.0.0.3")/TCP(sport=random.randint(54100,54300),dport=23800)
send(pkt1)

패킷 2:

pkt2=IP(src="10.0.0.2", dst="10.0.0.3",options=IPOption('\x83\x03\x10'))/TCP(sport=random.randint(54100,54300),dport=23800)
send(pkt2)

답변1

소스 라우팅 패킷은 기본적으로 허용되지 않을 수 있습니다. net.ipv4.conf.eth0.accept_source_route두 번째 컴퓨터의 설정을 확인(인터페이스를 설정으로 변경 )합니다. eth0Wireshark를 사용하여 패킷을 볼 수 있더라도 커널에 의해 차단될 수 있습니다.

다음을 사용하여 소스 라우팅 패킷을 허용하도록 동작을 변경할 수 있습니다.

# /sbin/sysctl -w net.ipv4.conf.all.accept_source_route=1

이 기능을 활성화하는 것은보안 위험

관련 정보