use*_*593 4 networking ip-address port sockets
进程是一个正在执行的程序。例如火狐浏览器。我不明白术语“进程”和“端口”之间的关系和区别。
当我netstat -no -p -TCP在 cmd 上运行时,我可以看到多个端口号与每个进程相关联,如下所示。但是,我不清楚端口和进程之间的关系。
And*_*ach 34
直接回答问题:进程ID和端口号之间没有联系。他们列举了完全不同的东西。
PID 标识一个进程(例如 Firefox 会话:每个选项卡可以作为不同的进程运行),端口号标识该进程使用哪个端口进行通信。特定的端口号确实有习惯用途:80 通常用于 HTTP,443 用于 HTTPS。但是一个进程可以得到任何 PID 号,这取决于它何时启动。
如您所见,您的本地端口号是按顺序使用的,并且与目标端口号或使用它们的进程的 PID 无关。
Mok*_*bai 12
PID 仅显示以便您可以识别进行通信的特定进程,并且与端口号无关。
如果您有一个程序的多个副本在运行,并且它们都通过网络进行通信,那么显示程序名称不足以唯一标识哪个端口属于该程序的哪个副本。
如果您想终止特定连接而不是程序的所有副本,则需要知道 PID 而不是程序名称。
TOO*_*GAM 10
您可能会发现另一个有用的命令是 netstat。我看到你正在使用 netstat。尝试添加“-b”参数。(此选项特定于 Microsoft Windows,我假设您使用的是基于提示中的 C:\Users\User>。)这将使 Netstat 尝试使用 PID 来找出可执行文件的名称,并将其打印在下一行。
所有这些都与端口号完全无关。
端口号用作网络连接的一部分。并非所有网络通信都使用端口号。例如,由 TraceRoute(在 Microsoft Windows 上命名为“TRACERT”)和 Microsoft Windows 的“ping”命令使用的 ICMP 不使用端口号。最常见的协议是 UDP 和 TCP。(也许 SCTP 是下一个最常见的?)许多协议,包括 HTTP(S) 和 SMTP(用于电子邮件)使用 TCP,因此使用端口号。
(注意:方括号只是我为使该段落更易于阅读而编写的符号。在 Netstat 的输出中,端口号显示在冒号之后。我通常不喜欢使用术语“外国”来表示描述端口号,但我在这种情况下做了,因为这是 netstat 使用的术语。)
进程和端口号是非常不同的东西。我同意此处其他答案中的大部分或全部信息。(但是,我在这里添加了我自己的答案,因为我认为更多的细节,比如数字的分配位置,可能有助于使区别更加清晰。)
| 归档时间: |
|
| 查看次数: |
10523 次 |
| 最近记录: |