DownOL 软件仓库– 软件下载,字节世界与新知

“网络”找出windows系统发起网络连接的应用程序

发表于:2024-05-02 作者:创始人
编辑最后更新 2024年05月02日,最近发现公司防火墙上不停的报以下日志:Nov 1 2017 14:42:09: %ASA-4-106023: Deny tcp src XXX:172.28.1.1/22978 dst YYY172.

最近发现公司防火墙上不停的报以下日志:

Nov 1 2017 14:42:09: %ASA-4-106023: Deny tcp src XXX:172.28.1.1/22978 dst YYY172.28.30.10/11341 by access-group "HX" [0x0, 0x0]

可以看出是172.28.1.1这台设备不停的要访问172.28.30.10的11341埠,但因为防火墙上没有放通策略,该请求不断的被阻断。虽然对网络没什么影响,但一屏幕都是这些日志看着很不爽。找负责应用的同事问他们是否有访问需求,如果有我就在防火墙上放通,如果没有就不要发起请求。最后他们确认没访问需求,但他们自己也不知道是什么程序在不停的发起请求...

今天实验的目的就是:如果发现某台主机不停的发起TCP连接请求,如何找到这条主机上具体是什么应用程序发起的请求。

就用最简单的telnet来做实验吧

电脑去访问1.1.1.1的888埠:

telnet测试

解释:模拟访问IP地址1.1.1.1,埠888的TCP请求,此时使用命令 netstat -ano|findstr 888 根据字串"888"查找网络连接中的信息,找出对应的进程ID,此实验找出的进程ID是6928,之后再使用命令 tasklist|findstr 6928 查找该进程ID对应的进程名是什么。

C:\Users\SEAN>netstat -ano|findstr 888

TCP 192.168.50.87:62338 1.1.1.1:888 SYN_SENT 6928

C:\Users\SEAN>tasklist|findstr 6928

telnet.exe 6928 Console 22 6,044 K

当然,实际操作的时候应该灵活点,根据埠找进程,是因为我的工作环境中源IP和目的IP的访问需求很多,如果根据源IP或者目的IP找,会找出太多结果,而埠是唯一标识,容易查找。可能其他网络环境中,更多的是根据目的IP地址去找。比如我在访问baidu.com的网页,然后这样查找出是chrome发起的请求:

根据目前IP查找

最后详细说明:

netstat -ano|findstr "xxx"

根据提供的字串查找会话连接。

-a 显示所有连接和侦听埠。

-n 以数字形式显示地址和埠号。

-o 显示拥有的与每个连接关联的进程 ID。

tasklist |findstr ""

根据进程ID,查找具体的应用程序。

findstr也可以用find替换,但findstr功能更强大,支持正则表达式。

2022-05-09 12:51:14
0