
최고 수준의 macOS 앱으로 Mac에서 모든 패킷을 명확하게 확인하세요. Wireshark의 대안입니다.
Mac을 위한 간단하고 네이티브한 패킷 뷰어.
TCP Viewer는 macOS에서 네트워크 패킷을 캡처하고 읽습니다. 캡처에는 시스템 libpcap을 사용하고, 심층 패킷 세부 정보에는 Wireshark 라이브러리를 사용합니다.
tcpviewer-cli로 캡처, 패킷 쿼리, 파일, 라이선스, 설정 자동화.


TCP Viewer를 실행하려면:
TCP Viewer를 빌드하려면:
brew install cmake ninja meson pkg-config autoconf automake libtool
서브모듈과 함께 클론합니다. 그런 다음 고정된 Wireshark 의존성을 부트스트랩합니다.
git clone --recurse-submodules <repo-url>
cd TCPViewer
cp Config/TCPViewer.local.xcconfig.example Config/TCPViewer.local.xcconfig
./scripts/bootstrap-wireshark.sh
서브모듈 없이 이미 클론하셨나요?
git submodule update --init --recursive
./scripts/bootstrap-wireshark.sh
부트스트랩 스크립트:
scripts/bootstrap-wireshark-deps.sh를 실행합니다.Vendor/.install/wireshark-deps에 기록합니다.로컬 서명, appcast, Sparkle, Sentry, 릴리스 값을 Git에 보관하지 마세요. Config/TCPViewer.local.xcconfig, .env, 환경 변수 또는 Keychain 기반 도구를 사용하세요.
Xcode에서:
TCPViewer.xcodeproj를 엽니다.TCPViewer 스킴을 선택합니다.My Mac을 선택합니다.명령줄 빌드:
xcodebuild -project TCPViewer.xcodeproj -scheme TCPViewer build
Xcode가 서명을 요청하면 TCPViewer와 PcapPlusPlusCore에 대한 개발 팀을 선택하세요.
xcodebuild test \
-project TCPViewer.xcodeproj \
-scheme TCPViewer \
-destination 'platform=macOS'
릴리스 스크립트는 다음을 수행할 수 있습니다:
최초 설정:
npm install
bundle install
gh auth login
.env.example에서 로컬 .env를 만듭니다. 필요한 릴리스 값을 추가합니다. 실제 시크릿을 절대 커밋하지 마세요.
.env에서 주석에는 #을 사용하세요. sentry-cli는 // 주석을 허용하지 않습니다.
프로덕션 릴리스의 경우 ReleaseNote.json에 일치하는 항목을 추가합니다. 그런 다음 실행합니다:
npm run release
요청 시 beta 또는 production을 선택합니다.
프로덕션 릴리스는 또한:
v<version> 태그를 푸시합니다.최신 공개 프로덕션 릴리스에 대한 Homebrew Cask 풀 리퀘스트만 생성하려면 make build를 실행하고 Homebrew Cask PR from latest release를 선택합니다. 직접 명령을 실행할 수도 있습니다:
npm run release:homebrew
이것은 공개 DMG를 GitHub 릴리스 자산과 대조 검증하고, ProxymanApp/homebrew-cask에 브랜치를 푸시하고, Homebrew/homebrew-cask에 기여 풀 리퀘스트를 엽니다.
아티팩트는 다음 위치에 기록됩니다:
~/Desktop/tcpviewer-production/
TCP Viewer는 GPL-2.0-or-later에 따라 라이선스됩니다. 이는 Wireshark 라이브러리 사용과 일치합니다.
COPYING을 참조하세요.THIRD_PARTY_NOTICES.md를 참조하세요.SOURCE_CODE_OFFER.md를 참조하세요.Wireshark는 Wireshark Foundation의 상표입니다. TCP Viewer는 Wireshark Foundation과 제휴하거나 보증받지 않습니다.