2015-01-05 3 views
0

알다시피, 네트워크 인터페이스 카드 용 링 버퍼가 있습니다. 그런 버퍼가 오버플로되면 커널이 버퍼에서 패킷과 여유 공간을 소모하지 않는 한 들어오는 패킷이 삭제됩니다.리눅스에서 NIC 링 버퍼 오버 플로우를 시뮬레이트하고 탐지하는 방법

제 질문은 Linux에서 이러한 NIC 링 버퍼 오버 플로우를 감지하는 방법입니까?

Linux에서 이러한 링 버퍼 오버 플로우를 시뮬레이트하는 방법은 무엇입니까? 필요한 경우/proc의 수정이 허용됩니다.

는 2016년 2월 2일에서 업데이트 : 사람이 링 버퍼 오버 플로우 시뮬레이션의 지식을 가지고있는 경우도 알려 주시기 바랍니다 동안 나는, 사전에 감사를 답변으로 존 Zwinck의 설명을 받아 들일 것

.

+0

이 질문은 화제가 아닌 것으로 보이며'unix.stackexchange.com'에 가장 적합합니다! –

답변

1

나는 이것을 (휴대용으로) 감지하거나 시뮬레이션 할 수 있다고 생각하지 않습니다. 특정 NIC 드라이버를 사용하여이를 수행하는 방법이있을 수 있지만 사용중인 제품을 정확하게 지정해야하며 소비자 급 제품이 아닌 것으로 판단됩니다. 사용자는 측정하고 여기 설명하지만 ethtool -g를 이용하여 링 버퍼의 크기를 조정할 수 http://www.scottalanmiller.com/linux/2011/06/20/working-with-nic-ring-buffers/

0

1) NIC 통계 조사에 의해 버퍼 오버 플로우를 검출 할 수 ethtool -s eno1있다. 출력에는 많은 정보가있을 것입니다. 필드 이름은 드라이버에 따라 다릅니다. 예를 들어 tg3 드라이버에서 "rx_discards"라는 파일을 찾았습니다. 전체 버퍼로 인해 삭제 된 패킷의 양을 저장합니다.

2) 패킷을 삭제해야 할 때 버퍼 크기를 매우 작은 값 (예 : 2)으로 설정합니다 (ethtool -G eno1 rx 2). 그리고 netperf로 네트워크 카드를로드하십시오.

관련 문제