标签: netstat

为什么 explorer.exe 与微软服务器建立了连接?

这似乎有点奇怪。使用netstat -a -b -n我发现以下内容:

TCP 192.168.1.X:1150   157.56.124.76:443 ESTABLISHED [Explorer.EXE]
Run Code Online (Sandbox Code Playgroud)

事实证明,157.56.124.76解析db3wns2011017.wns.windows.com为的 ip 是来自Microsoft的静态 ip 。

此外,tcpViewsysinternals使用我可以看到它是通过 https 的 TCP 连接。

我尝试关闭连接,一秒钟后它又重新打开。最初发送了 1 KB 的数据,之后什么也没有。

这到底是怎么回事,为什么成立

我有 Windows 8.1 企业版。我没有安装 OneDrive 或任何其他微软云的东西。这是持久的,并且在启动后存在。

更新

在发现这与 Windows 推送通知有关后,我按照此处的步骤禁用此类通知,但连接仍然存在。

windows-explorer netstat windows-8.1

6
推荐指数
1
解决办法
2万
查看次数

如何判断多个网卡中的哪个正在使用?

假设我有多个网卡连接到我的PC,我如何知道使用哪个网卡进行通信。例如,如果我使用

ping 192.168.x.xxx
Run Code Online (Sandbox Code Playgroud)

我想知道用于通信的卡(以及哪个 IP 地址)。

命令

netstat
Run Code Online (Sandbox Code Playgroud)

将告诉我们有关活动连接的信息。我对活动连接不感兴趣,但我想知道下一次连接将使用哪张卡。也就是说,如果我们使用ping哪个卡(或IP地址)将被使用?

networking network-adapter ping netstat

5
推荐指数
1
解决办法
2万
查看次数

查找正在侦听特定端口的进程

例如,我想找到一些在指定端口上运行的进程80

我跑了

fuser 80/tcp
Run Code Online (Sandbox Code Playgroud)

并一无所获

进而

netstat -tulpn|grep "80\|PID"
Run Code Online (Sandbox Code Playgroud)

并得到了

Proto Recv-Q Send-Q Local Address               Foreign Address             State       PID/Program name   
tcp        0      0 :::80                       :::*                        LISTEN      -  
Run Code Online (Sandbox Code Playgroud)

PID 是-

那么是什么-意思呢?谢谢!

networking tcp netstat

5
推荐指数
1
解决办法
3420
查看次数

获取系统缺少足够的缓冲区空间或因为队列已满

我的 ASP.NET 和 SQL Server 2012 应用程序在 Windows Server 2008 R2 上运行。突然,我在服务器上的互联网停止工作,我的应用程序开始抛出,

An operation on a socket could not be performed because the system lacked sufficient buffer 
space or because a queue was full
Run Code Online (Sandbox Code Playgroud)

运行 netstat 显示 PID = 0 打开了很多端口。Netstat 说,

Process Id = 0, State = TIME_WAIT have 130,053 ports open
Process Id = 38840, State = CLOSE_WAIT have 5 ports open
Process Id = Any, State = LISTENING have 30 ports open
Process Id = Any, State …
Run Code Online (Sandbox Code Playgroud)

asp.net windows-server-2008-r2 netstat

5
推荐指数
1
解决办法
3万
查看次数

netstat 具有完整的命令名称(如 htop 中)

我通过 mono 运行几个不同的服务,每个服务都有自己的端口,但是当我使用 netstat 检查哪些已分配端口而哪些没有分配时,我得到的只是 2 个名为“mono”的进程,无法分辨除了查看端口之外,有时可能会发生变化。

是否可以让 netstat 显示每个端口的“命令”,就像 htop 对进程所做的那样?

这样我就可以分辨出哪个进程是哪个进程。

netstat

5
推荐指数
1
解决办法
4285
查看次数

在没有 root 的情况下关闭 ssh 隧道并且不杀死所有其他 ssh 连接

我有一个 ssh 隧道侦听本地端口,比如 8888,从远程机器打开ssh -R 8888:localhost:80 myuser@myhost。我需要在“myhost”上为“myuser”编写一个脚本来关闭这个隧道。

该脚本将由“myuser”在“myhost”上执行。它不会由 root 执行,也不会执行 sudo。

一种方法是使用 lsof 或 netstat 找到侦听 8888 的进程的 PID,然后终止该进程。然而,lsof 和 netstat 都拒绝给我 PID 而不去 sudo。使用 netstat 我只是得到-而不是没有 sudo 的“PID/程序名称”。

有没有办法找出在没有根权限的情况下侦听给定端口的进程的 PID?侦听此端口的进程在我们所在的同一用户下运行。或者有没有其他方法可以从外部关闭 ssh 隧道?

请注意,使用 ssh 转义序列重置连接不是解决方案,因为我们不在隧道中。我们的脚本需要由同一用户在同一主机上单独运行。

另请注意,仅运行killall sshd不是解决方案,因为它会杀死所有其他 ssh 连接,而不仅仅是这个连接。

这个问题不是许多类似问题的重复,因为我发现他们接受的所有答案都需要 root 权限,或者只是杀死所有 ssh 连接。

主机“myhost”正在运行 Ubuntu 12.04.5。


编辑:@Jakuje 要求的讨论摘要:

  • @Patrick 建议了一种使用setuid或修改的方法,/etc/sudoers以允许用户在没有完整 sudo 的情况下以 root 权限运行脚本。虽然,因为setuid我们需要编写一个二进制文件而不是脚本。但是,允许用户以 root 权限运行脚本可能存在潜在的安全风险。而且这个解决方案仍然没有涵盖用户根本没有 root 访问权限的情况,所以他不能修改/etc/sudoers. 如果@Patrick 将此写为答案,我肯定会赞成它,但我不会将其标记为已接受。

  • @EricRenouf 发现 …

linux ssh tunnel netstat ubuntu

5
推荐指数
1
解决办法
1359
查看次数

Debian 9 上替代端口的 Netstat 监听程序

netstat -ntpl在 Debian 9上命令的替代方法是什么?
我正在使用此命令来检查正在侦听端口的程序。
或者使用参数-ntupl(带 u)包括 UDP。

debian netstat stretch

5
推荐指数
1
解决办法
2万
查看次数

netstat 从哪里获取进程名称?

我正在开发一个节点应用程序,并且有一个选项可以设置进程标题(进程名称)。这只在某些工具(如 ps 和 top)中设置它,而不是在htop或 中设置netstat

我发现这篇文章解释了大多数应用程序是如何做到的,但它在 netstat 中没有改变。

这让我想知道这些程序从哪里获得进程名称。他们会从那里得到它/proc/##/cmdline吗?(## 是进程的 PID)

我认为把事情搞砸/proc是个坏主意(而且可能不可能),所以如果这些程序在那里得到它,有没有办法改变它?

linux process netstat

4
推荐指数
1
解决办法
1113
查看次数

Powershell one-liner 使用 netstat 问题在与端口相同的行上显示进程

首先,我只想确保用户 Erik Bitemo 获得了我在这里使用的原始代码的信任。输出是我正在寻找的一个例外:其中一个端口消失并且“System System5”出现在它的位置,我无法弄清楚为什么会发生这种情况。

目标:在同一行上显示所有 TCP(侦听)和 UDP 端口以及与每个端口关联的进程。

正在使用的一种衬垫:

$nets = netstat -bano|select-string 'LISTENING|UDP'; foreach ($n in $nets)    {    $p = $n -replace ' +',' ';    $nar = $p.Split(' ');    $pname = $(Get-Process -id $nar[-1]).ProcessName;    $n -replace "$($nar[-1])","$($ppath) $($pname)";     }
Run Code Online (Sandbox Code Playgroud)

示例输出:

TCP 0.0.0.0:135 0.0.0.0:0 LISTENING svchost
TCP 0.0.0.0: System System5 0.0.0.0:0 LISTENING System
TCP 0.0.0.0:623 0.0.0.0:0 LISTENING LMS

它更改的端口是 445,但我不知道为什么当其余端口按预期工作时它只更改那个端口。为什么脚本将 445 更改为“System System5”?

不幸的是,无法使用其他工具,因此我只能使用内置的 Windows 工具。

script powershell netstat

4
推荐指数
2
解决办法
2万
查看次数

重置 Netstat 统计信息

有没有一种方法可以在不重新启动设备的情况下清除“netstat -s”的统计信息?

我试图确定不确定时间内的错误数量。

networking linux netstat

3
推荐指数
1
解决办法
1万
查看次数