到端口 80 的 TCP 连接不应该也来自端口 80 吗?或者当普通用户使用普通浏览器时,它们通常来自哪个端口?我想知道,因为我想知道我是否可以限制防火墙上的传入端口
tcp 6 156441 ESTABLISHED src=88.242.44.86 dst=74.208.112.246 sport=1164 dport=80 packets=4 bytes=172 src=74.208.112.246 dst=88.242.44.86 sport=80 dport=1164 packets=1 bytes=52 [ASSURED] mark=0 use=1
tcp 6 156065 ESTABLISHED src=78.186.69.124 dst=74.208.112.246 sport=3133 dport=80 packets=4 bytes=168 src=74.208.112.246 dst=78.186.69.124 sport=80 dport=3133 packets=1 bytes=48 [ASSURED] mark=0 use=1
tcp 6 132805 ESTABLISHED src=88.238.245.86 dst=74.208.112.246 sport=3526 dport=80 packets=4 bytes=172 src=74.208.112.246 dst=88.238.245.86 sport=80 dport=3526 packets=1 bytes=52 [ASSURED] mark=0 use=1
Run Code Online (Sandbox Code Playgroud) 在指向另一个域的 CNAME 查找的附加部分中返回根名称服务器是否配置不佳?特别是我看到的一个是由 Network Solutions 托管的 CNAME,CNAME 指向不同的域和 TLD。
我问这是否是糟糕的配置,因为所有这些额外的记录都会导致超过 UDP 数据包的大小,从而迫使使用 TCP 重新完成查询。
dig www.unitedstatesartists.org +trace
名称服务器响应:
example.org. 86400 IN NS ns15.worldnic.com.
example.org. 86400 IN NS ns16.worldnic.com.
;; Received 95 bytes from 199.249.120.1#53(b2.org.afilias-nst.org) in 79 ms
;; Warning: Message parser reports malformed message packet.
;; Truncated, retrying in TCP mode.
www.example.org. 7200 IN CNAME load-01-123.us-west-1.elb.amazonaws.com.
. 518400 IN NS a.root-servers.net.
. 518400 IN NS b.root-servers.net.
. 518400 IN NS c.root-servers.net.
. 518400 IN NS d.root-servers.net.
. 518400 IN NS …Run Code Online (Sandbox Code Playgroud) 这是它的工作原理吗?
1. Client sends syn to server.
2. Server responds with syn ack.
3. Client responds with ack.
Run Code Online (Sandbox Code Playgroud)
如果服务器只用 syn 或 ack 响应会发生什么?如果服务器根本没有响应会发生什么?如果客户端不响应 ack 会发生什么?
例如,我们有一个通过代理的 VPN TCP 传输连接。我想知道如何通过此 TCP 连接模拟 UDP?如何模仿其不可靠的性质?
我们的系统管理员说
“Apache 在每个连接上使用一个 TCP 端口”
所以一个服务器可以同时服务 65534 (MAX) 个。这样对吗?
我认为 Apache 只使用 80 或 443。但是,他使用很多文件描述符(不是端口)不是吗?
/sbin/sysctl -a | grep fs.file-max
fs.file-max = 123456789
Run Code Online (Sandbox Code Playgroud)
是 max 我想你能给我一些关于它的信息吗?
有时telnet用于测试非 telnet 服务器,例如 HTTP 或 SMTP 服务器,其中 TELNET 协议通常不受影响。但是,我想我在调试 TCP 服务器时遇到了这种情况。我跑了
telnet 本地主机 < 数据文件
服务器接收到的数据与文件中的数据不同。
是否有 telnet 选项或我可以使用的整个其他命令?
如果它必须单独安装,那么我不想要它。我会做没有。
我知道这个问题听起来很愚蠢,但这些年来,我仍然很难向人们解释 TCP/IP。我自己并不完全明白,即使在阅读之后,区别也不是很清楚。到目前为止,我得到的是 IP 处理网络,而 TCP 涉及通过该网络传递消息。不过我并不完全相信。此外,它们驻留在互联网架构的不同层上。谁能用一个简单的类比或例子来消除这种区别?另外,我在某处读到了这个
区别在于 TCP 负责数据包的数据传递,而 IP 负责逻辑寻址。换句话说,IP 获得地址,而 TCP 保证将数据传送到该地址。
这样对吗?谢谢你的协助。最后一件事 - 以太网在这一切中来自哪里?
对于在我的旧工作中发生的端口碰撞,其中一个 SA 用于执行如下操作:
echo 'blah' > tcpcat -a 192.168.3.1 -p 2222 && ssh beamin@192.168.3.1
Run Code Online (Sandbox Code Playgroud)
我不记得我所指的命令tcpcat。有人知道吗?
我对FIX 协议在 TCP 上的实现特别感兴趣,但我很高兴更广泛地讨论这个问题。
假设客户端向服务器发送 TCP 段,并且涉及的一些 IP 数据包丢失。然后对于没有完全到达的 TCP 段,客户端将不会收到 ACK。现在通常这是客户端在超时时间过后重新传输 TCP 段的提示。
现在让我们假设客户端最终决定不发送那些丢失的 TCP 段。服务器正确接收到的不完整的段集会发生什么?
服务器是否希望最好,并假设最终丢失的段会到达?是否存在超时,服务器从其缓冲区中清除不完整的信息?如果是这样,一般是多长时间超时?
据我了解,TCP 获取一大块数据并将其切割成通过 TCP会话传输的段。
现在假设我,作为一个客户端,有两个数据块A,B我想发送到服务器。每个chunk被切成3个段,总共形成6个段。
我将通过 Internet 发送这 6 个段,但我不能保证服务器将接收它们的顺序。幸运的是,TCP 服务器为我重新排列了乱序段。
但是,对于我的应用程序,块A和B是完全独立的,因此A如果B已收到所有段,我不希望服务器等待段,反之亦然。实际上,我想要两个独立的 TCP 会话用于块A和B.
客户端和服务器是否可能具有并行、独立的 TCP 会话?查看 TCP 标头条目,我看不到“会话号”。我被迫使用不同的源端口或目标端口?