전반적인 상황: 포트 스캐닝 도구를 테스트할 수 있는 자동화된 테스트 환경을 구축해야 합니다.
이것은 제가 놀이터로 사용하는 github 저장소입니다.https://github.com/WojciechMigda/tested-scanners
내가 가진 것:
- 두 개의 (더 많은) 컨테이너가 실행 중이고
snmpd
사용자 정의 ipv4 및 ipv6 네트워크에 연결되어 있으며 호스트 인터페이스net-snmpd
에 연결되어 있습니다 .br-snmpd
- 호스트의 컨테이너
ping
로 작업할 수 있습니다 .ping6
nmap
포트 161의 온전성 검사는 ipv4 및 ipv6 네트워크를 통해 수행될 수 있습니다. 참고:nmap
IP 계층 수준에서 작동합니다. IP 프로브 패킷을br-snmpd
인터페이스 로 보냅니다 .
질문:
masscan
포트스캔 도 하고 있습니다 . nmap
masscan
이더넷 계층에서 작동하는 것과 반대입니다 . 기본적으로 인터페이스가 명시적으로 지정되지 않은 경우 masscan
호스트의 eth0 인터페이스가 사용됩니다 . 이 인터페이스는 기본 경로가 이 인터페이스로 연결되기 때문에 선택되었습니다. 안타깝게도 masscan
컨테이너의 열린 포트를 감지할 수 없습니다.
그러나 masscan
네트워크 인터페이스( br-snmpd
대신 ) 및 관련 라우터의 MAC를 지정하여 eth0
실행할 수도 있습니다. 이 설정을 사용하면 masscan
컨테이너의 포트 감지가 성공합니다.
여러 가지 변경을 시도했지만 누락된 부분을 찾을 수 없습니다. masscan
인터페이스를 통해 컨테이너의 포트를 성공적으로 스캔 하려면 어떤 추가 구성이 필요합니까 eth0
?
제가 구현하고 싶은 또 다른 설정은 라우터(게이트웨이?)를 연결하여 작업 인터페이스로 선택 br-snmpd
하면 null이 아닌 라우터 IP 주소에 대한 라우터 MAC을 검색하려고 시도하는 것입니다.br-snmpd
masscan
docker-compose.yml
:https://github.com/WojciechMigda/tested-scanners/blob/main/tests/resources/docker-compose.yml
Github 작업 흐름:https://github.com/WojciechMigda/tested-scanners/blob/main/.github/workflows/test.yml
워크플로 중 하나가 실행됩니다.https://github.com/WojciechMigda/tested-scanners/actions/runs/4813378705/jobs/8569841427
ip -4 addr
ip -6 addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
inet 10.1.24.5/16 metric 100 brd 10.1.255.255 scope global eth0
valid_lft forever preferred_lft forever
3: docker0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default
inet 172.17.0.1/16 brd 172.17.255.255 scope global docker0
valid_lft forever preferred_lft forever
4: br-snmpd: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default
inet 10.9.0.1/24 brd 10.9.0.255 scope global br-snmpd
valid_lft forever preferred_lft forever
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 state UNKNOWN qlen 1000
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 state UP qlen 1000
inet6 fe80::6245:bdff:fe7a:4922/64 scope link
valid_lft forever preferred_lft forever
3: docker0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 state DOWN
inet6 2001:db8:1::1/64 scope global tentative
valid_lft forever preferred_lft forever
inet6 fe80::1/64 scope link tentative
valid_lft forever preferred_lft forever
4: br-snmpd: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 state UP
inet6 2001:db8:1:1::1/120 scope global
valid_lft forever preferred_lft forever
inet6 fe80::42:31ff:fed7:61d3/64 scope link
valid_lft forever preferred_lft forever
inet6 fe80::1/64 scope link
valid_lft forever preferred_lft forever
6: veth58fff89@if5: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 state UP
inet6 fe80::14f4:fcff:fe3c:2b8a/64 scope link
valid_lft forever preferred_lft forever
8: veth55e96c9@if7: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 state UP
inet6 fe80::d471:a4ff:febf:8273/64 scope link
valid_lft forever preferred_lft forever
ip -4 route
ip -6 route
default via 10.1.0.1 dev eth0 proto dhcp src 10.1.24.5 metric 100
10.1.0.0/16 dev eth0 proto kernel scope link src 10.1.24.5 metric 100
10.1.0.1 dev eth0 proto dhcp scope link src 10.1.24.5 metric 100
10.9.0.0/24 dev br-snmpd proto kernel scope link src 10.9.0.1
168.63.129.16 via 10.1.0.1 dev eth0 proto dhcp src 10.1.24.5 metric 100
169.254.169.254 via 10.1.0.1 dev eth0 proto dhcp src 10.1.24.5 metric 100
172.17.0.0/16 dev docker0 proto kernel scope link src 172.17.0.1 linkdown
::1 dev lo proto kernel metric 256 pref medium
2001:db8:1::/64 dev docker0 proto kernel metric 256 linkdown pref medium
2001:db8:1::/64 dev docker0 metric 1024 linkdown pref medium
2001:db8:1:1::/120 dev br-snmpd proto kernel metric 256 pref medium
fe80::/64 dev eth0 proto kernel metric 256 pref medium
fe80::/64 dev docker0 proto kernel metric 256 linkdown pref medium
fe80::/64 dev br-snmpd proto kernel metric 256 pref medium
fe80::/64 dev veth58fff89 proto kernel metric 256 pref medium
fe80::/64 dev veth55e96c9 proto kernel metric 256 pref medium
답변1
eth0
설계상 컨테이너로의 트래픽이 비활성화된 것으로 나타났습니다 .
또한, 잠시 후 컨테이너 내부에서 스캐너를 실행한 다음 스캔 대상을 LAN 컨테이너에서 실행하거나 bird
피어 라우터를 통해 연결된 별도의 네트워크에서 실행하는 것이 더 편리하고 더 나은 솔루션이라는 것을 깨달았습니다.