Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用spring boot、tcpdump和docker捕获所有主机网络_Java_Spring_Spring Boot_Docker_Tcpdump - Fatal编程技术网

Java 使用spring boot、tcpdump和docker捕获所有主机网络

Java 使用spring boot、tcpdump和docker捕获所有主机网络,java,spring,spring-boot,docker,tcpdump,Java,Spring,Spring Boot,Docker,Tcpdump,我有一个spring启动应用程序。根据请求,它执行tcpdump,如下所示 String cmd=“tcpdump-n host”+this.host; processprocess=Runtime.getRuntime().exec(cmd); InputStream=process.getInputStream(); ... 我想将此应用程序dockerize以在linux以外的其他操作系统上工作,因此我准备了Dockerfile: FROM openjdk:15-alpine RUN

我有一个spring启动应用程序。根据请求,它执行tcpdump,如下所示

String cmd=“tcpdump-n host”+this.host;
processprocess=Runtime.getRuntime().exec(cmd);
InputStream=process.getInputStream();
...
我想将此应用程序dockerize以在linux以外的其他操作系统上工作,因此我准备了Dockerfile:

FROM openjdk:15-alpine

RUN apk --no-cache add tcpdump
COPY target/app.jar /usr/src/app.jar

CMD java ... (runs spring app)
和docker作曲

版本:“3.5”
服务:
服务名称:
网络模式:主机
容器名称:服务名称
建造:
上下文:。
环境:
-TZ=欧洲/华沙
-spring.profiles.active=development
-spring.liquibase.context=development
我希望
network\u模式:host
让docker使用主机网络,这样它就可以被扫描,并且可以根据spring应用程序的请求接收数据,但测试表明情况并非如此。为什么以及如何解决这个问题

我在信中读到:

因为Docker Desktop中实现网络的方式 在Windows中,您无法在主机上看到docker0接口。这 接口实际上在虚拟机中


这是否意味着我无法从windows上的docker连接到主机Machinine?我怎样才能避免这种情况?

您是否尝试了解析为主机IP的主机.docker.internal?像snipet中显示的
tcpdump-n host.docker.internal
host是指我们执行tcpdump的主机/网站,例如YouTube.comSo,而您的问题提到获取主机网络的详细信息。您能否提供更多关于您在这里通过
tcpdump
试图实现的目标的详细信息?您是否正在尝试检查是否有对YouTube.com或类似主机名的查询?目标是让应用程序在用户计算机上运行,以扫描特定网站并保存它。