상태: 우리 회사가 고객을 위해 개발하는 강화된 서버에 대한 테스트를 개발하는 방법을 배우고 있습니다. 테스트 구성에는 테스트 대상(개발 중인 서버)과 일부 테스트 스크립트를 실행하는 데 사용할 외부 테스트 랩탑이 포함됩니다.
테스트 노트북과 서버 모두 Ubuntu 22.04 LTS를 실행합니다. 하지만 이 설정에는 Kali Linux도 포함되어 있기 때문에 여기에 게시합니다. 게시하기에 적합한 사이트가 아닌 경우 사과드립니다.
테스트 노트북의 VirtualBox VM에서 Kali Linux를 사용하여 테스트 노트북과 대상 서버 간에 전송되는 패킷을 분석해야 합니다. 나는 사용해왔다칼리리눅스 배우기(오라일리 교과서) 그리고 이것은자원이 작업을 수행할 수 있는 간단한 환경을 설정하는 것은 막다른 골목에 이르렀습니다.
프로세스:
Kali Linux VM의 네트워크를 NAT로 구성하면 ping
Kali Linux VM에서 대상 서버와 호스트 노트북의 IP 주소를 성공적으로 얻을 수 있습니다.
또한 ping
대상 서버에서 호스트 랩탑에 성공적으로 액세스할 수 있으며 그 반대의 경우도 마찬가지입니다.
그러나 tcpdump port 22
가상 머신에서 명령을 실행한 다음 대상 서버에서 호스트 노트북으로 명령을 실행 하면 scp
Kali Linux 셸에 패킷 데이터가 표시되지 않습니다.
마찬가지로 tcpdump -i any
Kali Linux에서 실행하면 스트림을 얻지만 매우 느린 eth0
스트림입니다(호스트와 대상 간의 유선 연결). 대신 VM 외부의 호스트 랩탑에서 동일한 명령을 실행하면 정상적인 정보 흐름을 얻게 됩니다.
그런 다음 Kali Linux VM의 네트워크를 호스트 어댑터로만 구성하면 모든 장치가 ping
서로 연결할 수 있습니다(이제 네트워크를 공유하므로 이해가 됩니다).
tcpdump port 22
서버에서 호스트로 실행 하고 시도 하면 scp
이번에는 패킷 데이터를 얻습니다. 엄청난! 그 이상은 scp
할 수 없습니다. 그러나 실행 서버의 Bash 창에는 오류 메시지가 표시되지 않습니다. scp
"멈추고" 완료되지 않는 것 같습니다. 프로세스를 죽여야 합니다.
Kali Linux VM을 종료해도 상황은 계속됩니다. scp
완료할 수 없습니다. 흥미롭게도 테스트 노트북에서 실행하면 ifconfig
VirtualBox가 생성한 호스트 전용 어댑터가 여전히 존재하는 것을 볼 수 있습니다. 호스트를 재부팅하면 네트워크가 사라지고 scp
대상 서버에서 호스트로 다시 성공적으로 이동할 수 있습니다. 나는 이것이 내가 이해할 수 없는 네트워크 문제라고 생각합니다.
누구든지 이 문제에 대해 도움을 줄 수 있습니까?
PS, tcpdump
호스트 노트북(VM 외부)에서 실행하고 데이터 흐름을 볼 수 있습니다. 내가 할 수 있는 더 나쁜 일은 이 방법을 사용하는 것입니다. Kali Linux를 사용하여 장치 간 네트워크와 네트워크를 모니터링하는 방법에 대한 흥미로운 질문입니다. 나는 판도라의 상자를 열겠다고 선택하지 않았지만 여기 있다.
답변1
네트워크 어댑터 하드웨어는 로컬 호스트에 적합하지 않은 프레임을 삭제하는 경우가 많습니다. 모든 네트워크 트래픽을 캡처하려면 스니퍼가 tcpdump
네트워크 인터페이스를무차별 모드, 모든 프레임이 네트워크 스택으로 전달됩니다. VM에서 가상 어댑터를 무차별 모드로 설정해도 반드시 호스트(물리적 하드웨어) 환경에 영향을 미치는 것은 아니므로 효과적이지 않습니다. 이것이 바로 가상 머신 외부에서 작동하는 이유입니다.