본문 바로가기
반응형

Engineering/Network7

[iperf] linux 에서 network 대역폭 측정하기 검증 환경에 network 대역폭을 측정하여 제출 요청을 받아 아래와 같이 iperf를 사용하여 두 서버간의 network 대역폭을 측정해 보았다. 설치하기 서버#1. ubuntu OS apt-get install iperf 서버#2. centos7 OS yum install iperf Network 대역폭 측정하기 (1) 서버#1에서 Server로 실행하기 iperf -s (2) 서버#2에서 Client로 실행하여 서버#1로 패킷 전송 대역폭 측정하기 iperf -c 10.120.201.9 ip는 서버#1의 ip를 적어준다. 서버#2에서 10초간 packet을 전송하여 초당 대역폭을 결과로 출력해준다. (아래 캡쳐) 아래의 경우 10초 동안 17.5 GBytes를 전송하였고, 전송 대역폭이 15 Gbi.. 2024. 2. 23.
[tcpdump] 덤프 파일 사이즈가 커서 wireshark로 열리지 않는 경우를 대비하여 pcap 파일 분할하여 저장하기 개요 제품 검증을 하다보면 tcpdump 를 사용하여 network packet을 캡쳐하고, 그 데이터를 활용하여 결과 확인을 하는 등에 활용하곤 한다. 최근 담당했던 제품에 request / response packet size가 워낙 크다보니 1개의 Transaction 으로 발생되는 packet만 캡쳐해도 1GB 가 훌쩍 넘게 되었다. 이렇게 1GB가 넘는 파일을 wireshark로 열면 아래와 같은 에러 팝업을 마주할수 있으며, 초반 256MB(wireshark 기본 설정값인 것 같다)를 넘어서는 데이터를 확인할 수 없다. 이 기본 크기를 늘리는 방법은 아직 찾지 못하였다.. error message : The capture file appears to be damaged or corrupt. (.. 2024. 1. 10.
iptables 활용하여 Connection timeout, Response timeout 테스트 하기 Linux 환경에서 iptables를 활용하여 방화벽 설정하는 방법에 대한 내용을 공유하고, connection timeout 과 response timeout(a.k.a. read timeout) 테스트에 활용하는 방법에 대해 소개합니다. 1. iptables Command 배워보기 1-1. Basic Command 구조 알아보기 1-2. INPUT / OUTPUT Chain 에 policy 추가 1-3. DOCKER-USER Chain 에 policy 추가 2. Connection timeout과 Response(=Read) timeout 테스트에 iptables 활용하기 2-1. TCP Protocol의 3-way handshake 이해하기 (배경 지식) 2-2. Connection t.. 2022. 4. 4.
iptables 로 일부 문자(string)가 포함된 packet만 차단하기 (string match) Application 구동 환경에서 특정 시점에 network 이슈가 발생으로 packet 전송이 늦어지는 경우를 대비하여 종종 response timeout을 두어 exception 처리를 해달라고 개발 요구사항을 내는 경우가 있다. 그런 경우 특정 설정값 또는 default 설정값대로 동작을 잘 하는지 확인을 해야하는데, 간단한 연동 구조인 경우 dummy server를 만들어서 특정 api의 response 전 sleep을 길게 주는 형태로 테스트를 한다. 하지만 dummy server를 만들기 좀 까다롭거나 좀 더 테스트를 빠르게 하기 위해서 iptables의 string pattern match filtering을 사용하면 어떨까? 하는 생각이 들어 string match에 대한 단위 테스트를 .. 2022. 3. 28.
docker 사용 시, iptables 로 방화벽 설정하기 (DOCKER-USER Chain) linux 환경에서 실행되는 application의 network 단절 상황에서의 예외 케이스 테스트를 위해 종종 iptables로 패킷 차단을 활용해왔다. 하지만 최근에는 host에서 application을 직접 실행하는 것 보다는 docker container 안에서 application을 실행하는 형상이 많아졌고, 동일하게 iptables의 INPUT packet 차단을 해보니 packet drop이 되지 않고 connect 성공이 되었다;; 엔지니어링 경험이 좀 더 많은 분께 tip을 얻어 INPUT이 아니라 DOCKER Chain에 drop 룰을 추가하니 그제서야 packet drop이 잘 되었다. 그 당시에는 추가 검색을 해볼 시간적 여유가 없이 그대로 테스트에 활용하고 넘어갔었는데, 이후 새.. 2021. 11. 29.
반응형