Java 코드가 통신하는 고유 IP 주소 로깅
나는 조금 봤지만 이것에 대한 훌륭하고 쉬운 해결책을 찾지 못했습니다. 그래서 bash-fu를 하기로 결정하고 다음 스크립트를 작성했습니다.
while true
do
netstat -nput 2>/dev/null | grep 'java' | tr -s ' ' | cut -f5 -d ' ' | cut -f1 -d ':' | uniq | while read -r ip; do grep -qxF $ip ip.log || echo $ip >> ip.log; done
sleep 5
done
그것이 무엇을하는지 설명하기 위해 단계별로 살펴 보겠습니다.
while true
- 이것은 실행될 때 중지될 때까지 실행된다는 것을 의미합니다. 쉬움netstat -nputw 2>/dev/null
- netstat가 네트워크 연결을 인쇄합니다.-n
- 호스트 이름을 확인하는 대신 숫자 주소를 표시합니다. -p
- 프로그램의 PID 표시-u
- UDP 연결 포함-t
- TCP 연결 포함grep 'java'
- Java가 포함된 행만 사용합니다(PID에는 Java 앱용 Java가 포함됨). tr -s ' '
- 각 공백 시퀀스를 단일 공백으로 바꿉니다cut -f5 -d ' '
- 다섯 번째 열을 사용합니다(공백으로 구분). cut -f1 -d ':'
- 첫 번째 부분을 사용합니다(:로 구분됨) - 포트 제거uniq
- 목록을 고유하게 만듭니다while read -r ip; do grep -qxF $ip ip.log || echo $ip >> ip.log; done
- 로그 파일에 아직 포함되어 있지 않으면 로그 파일에 추가합니다.grep -qxF
-q
- 조용함, 표준 출력에 아무것도 쓰지 않음-x
- 전체 행과 정확히 일치하는 일치 항목만 선택합니다-F
- PATTERNS를 고정 문자열로 해석합니다. 이것이 도움이 되기를 바랍니다. 또는 더 나은 솔루션이 있으면 알려주세요.
저를 팔로우하면 이와 같은 더 멋진 콘텐츠를 얻을 수 있습니다.
Reference
이 문제에 관하여(Java 코드가 통신하는 고유 IP 주소 로깅), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/pavel_polivka/logging-unique-ip-addresses-your-java-code-communicates-with-19ik텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)