TCP/UDP 协议是否总是按顺序发送或接收文件包?是否可以使用套接字 API 选择首先发送哪些数据包?
我正在通过wireshark查看一些DHCP数据包。我注意到在 bootp 部分,有一个广播标志。
但是,目标 IP 是 255.255.255.255。不就足以表明它已经播出了吗?为什么需要国旗?
谢谢,
语言2
我试图了解 TCP 和 UDP 数据包在错误检查方面的差异。我知道 UDP 数据包是无连接的,并不关心数据包是否会安全到达目的地。而 TCP 数据包与 UDP 正好相反。
我的问题是,如果数据包发送到远程主机的关闭端口,UDP 和 TCP 数据包会发生什么动作?
UDP 数据包 - 使用 ICMP(代码 3)响应?TCP 数据包 - 使用 RST 数据包响应?
传输控制协议上的 Internet 控制消息传递协议和用户数据报协议有什么区别
有没有办法通过 UDP 建立 SSH 连接?
我在“过滤所有入站 TCP 流量”防火墙后面运行,因此我无法正确利用 SSH 隧道。
我已经设置了我可以控制的兄弟(SSH)。我想从防火墙后面连接到它,以某种方式将端口转发到我在防火墙后面的服务器上的 MySQL 和 Redis 数据库。
在对此处描述的问题进行故障排除时,我尝试了一些非常基本的方法:我尝试通过 UDP 设置一个非常基本的 netcat 连接,但我发现它没有按预期工作。
与下面的 TCP 插图一样,我希望 UDP 案例在窗口 2 中输入时在窗口 1 上回显相同的输出;相反,在 UDP 情况下,我在窗口 1 中没有输出。
我在笔记本电脑上运行 Debian Jessie,并且使用以下捕获过滤器运行 Wireshark:
udp and not (port 123 or port 5353 or port 1900)
Run Code Online (Sandbox Code Playgroud)
在一个终端窗口中,我通过运行以下命令开始了 TCP 测试:
$ nc -l 6900
Run Code Online (Sandbox Code Playgroud)
在第二个终端窗口中,我运行了以下命令:
$ nc localhost 6900
Run Code Online (Sandbox Code Playgroud)
在窗口 2 中,我键入“one”并按 Enter,然后键入“two”并按 Enter,最后按 Ctrl+D 退出。
在“one”上按 Enter 后,我看到“one”在窗口 1 中回显。在“two”上按 Enter 后,我看到“two”在窗口 1 中回显。当我按下 Ctrl+D 时,两个 netcat 实例都退出并返回到提示。
这表明我可以毫无问题地建立 TCP 连接。接下来,我尝试了UDP。
窗口 1:
$ nc -l -u 6900
Run Code Online (Sandbox Code Playgroud)
窗口 2:
$ …Run Code Online (Sandbox Code Playgroud) 我在 Linux 机器上运行 ffserver 进程,以便通过ffmpeg实现视频流。但是,视频流有延迟。在ffserver 配置文件上,我定义了Port 8090.
命令netstat -tulnap给了我这个:
root@beagleboard:/etc# netstat -tulnap
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address Stat e PID/Program name
tcp 0 0 0.0.0.0:68 0.0.0.0:* LIST EN 654/pump
tcp 0 0 0.0.0.0:111 0.0.0.0:* LIST EN 662/portmap
tcp 0 0 0.0.0.0:22 0.0.0.0:* LIST EN 698/dropbear
tcp 0 0 0.0.0.0:8090 0.0.0.0:* LIST EN 744/ffserver
tcp 0 52 192.168.1.104:22 192.168.1.111:10838 ESTA BLISHED 724/dropbear
udp 0 0 …Run Code Online (Sandbox Code Playgroud) 我正在尝试测试允许哪些传出端口通过防火墙。目前,我可以通过portquiz.net从内部进行端口扫描(这是一个打开所有 TCP 端口的服务器)为 TCP 执行此操作,但这不适用于 UDP。
我的设置如下:
Me (my device on local network) <-> NAT/Firewall <-> IPv4 Internet
所以我的问题是,如何测试我和 Internet 之间的防火墙以查看我能够连接并成功使用哪些传出 UDP 端口?
为了澄清起见,我想测试每个端口(不是任何特定端口)并返回可以成功通过的端口列表。
我正在寻找一个简单的命令行工具来在 Linux 机器上的所需端口上打开 TCP/UDP 服务器/客户端。是否有任何应用程序或命令可用于实现此目的?
当代理收到连接时,代理如何知道将请求转发到哪里?
例如,Java我们可以为代理设置系统属性。
所以我们设置了IP代理的 并且请求被发送到代理,但是代理如何知道将实际请求转发到哪里呢?