Dev
TCP 패킷 디버깅
1. SYN 없이 ACK만 보이는 이유 캡처 시작 전에 이미 연결이 맺어진 상태라서그렇다. Wireshark 켰을 때 세션이 살아있으면 3-way handshake는 이미 끝난 거고 중간부터 잡히는 것. BPF 필터로 연결 과정만 골라서 캡처할 수 있음. # SYN만 tcpdump -i eth0 'tcp[13] = 2' # SYN-ACK만 tcpdump -i eth0 'tcp[13]
Dev
1. SYN 없이 ACK만 보이는 이유 캡처 시작 전에 이미 연결이 맺어진 상태라서그렇다. Wireshark 켰을 때 세션이 살아있으면 3-way handshake는 이미 끝난 거고 중간부터 잡히는 것. BPF 필터로 연결 과정만 골라서 캡처할 수 있음. # SYN만 tcpdump -i eth0 'tcp[13] = 2' # SYN-ACK만 tcpdump -i eth0 'tcp[13]
Dev
네트워크 대역폭은 크지만 서버의 네트워크 속도가 느릴때 패킷이 드랍되는 현상이 발견되었을때 조치방법중 하나 1. 게이트웨이로 나가는 디폴트 이더넷 인터페이스를 확인한다. - ip route show를 사용 2. ethtool -g eth0 명령어로 ringBuffer Parameter 확인 진행 * maximums 로 NIC의 RX, TX 최대 링버퍼 슬롯 개수를 확인 * current로 현재 설정된 RX, TX 슬롯
Dev
슬랙 웹훅 알림 메시지 유실로인한 문제를 tcpdump를 활용하여 디버깅했던 내역을 정리 1. 증상 신규 운영환경 모니터링 시스템 구축 중 슬랙 메시지가 간헐적으로 오지않는것을 확인 * 서버에서 Slack webhook 메시지 전송 시 간헐적 실패 * 상대편이 연결을 끊었다는 로그 확인 * 약 10건 중 1~2건 실패, 랜덤하게 발생 * 같은 webhook URL을 쓰는 다른
Dev
1. top 명령어 메모리 지표 지표 설명 VIRT커널로부터 예약받은 가상 메모리 (물리 메모리 미할당 포함)RES실제 물리 RAM에 올라온 메모리 (가장 현실적인 지표)SHRRES 중 다른 프로세스와 공유 중인 메모리 실제 단독 사용량 = RES - SHR 2. SHR (공유 메모리) * 대표 예시: glibc (대부분의 프로세스가 참조하는 표준 C 라이브러리) * 물리