Articles of netstat

即使使用sudo,netstat的PID /程序名也是连字符

developer@LinuxKernel:~> sudo netstat -elnopt developer's password: Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State User Inode PID/Program name Timer tcp 0 0 0.0.0.0:10080 0.0.0.0:* LISTEN 1003 3061421021 – off (0.00/0/0) 关于我的经验,我有权利用sudo来检查netstat的PID / Program name,如何解释这个,内核是2.6.16.60,net-tools 1.6,netstat 1.42

我怎样才能找出哪个进程正在打开某个TCP端口?

我通常使用fuser命令来检查打开特定TCP端口的pid,如下所示 fuser 22/tcp //To get pid opening the 22 tcp port 我有一个运行embedded式Linux的参考板。 它已经开放了22个TCP端口用于SSH连接。 但fuser不显示关于22端口的任何输出。 所以我尝试了另一个SSH守护进程打开322端口,然后试图检查使用fuser的PID,它工作正常。 root@imx6qsabreauto:~# netstat -nlt | grep 22 tcp 0 0 0.0.0.0:4224 0.0.0.0:* LISTEN tcp 0 0 0.0.0.0:322 0.0.0.0:* LISTEN tcp 0 0 :::322 :::* LISTEN tcp 0 0 :::22 :::* LISTEN root@imx6qsabreauto:~# fuser 322/tcp 351 root@imx6qsabreauto:~# ps -ef | grep 351 […]

在solaris 11.0中检测文件描述符是否是套接字,并提取ip地址

在Solaris中,我需要获取特定进程正在使用的IP地址(sshd session),我有他的ID。 他们如何在Linux上做到这一点? 读完netstat.c源文件后,这是stream程: 迭代位于/ proc / ProcessId / fd /的进程文件描述符, 如果迭代的文件描述符是一个套接字,它们将读取链接,打开并最终读取文件描述符。 所以在solaris中,我可以检测到进程的套接字文件描述符。 int fd=NULL; struct dirent *dentp; while ((dentp = readdir(dirp)) != NULL) { //iterate file descriptors fd = atoi(dentp->d_name); struct stat statb; char temp_dir_path [100]; if (stat(temp_dir_path, &statb) != -1) { if (S_ISSOCK(statb.st_mode)) { //What to do here ?? temp_dir_path is /proc/12345/fd/4 我看到有像getpeername(..),getsockname(..)这样的方法,它们接收param作为当前上下文进程的文件描述符,我想读另一个进程的文件描述符。 […]

查找一个端口是否可以在linux下使用c ++

我正在开发一个C ++项目。 为了满足其中一个要求,我需要检查一个端口是否可以随时在我的应用程序中使用。 为了实现这一点,我来到这个解决scheme。 #include <iostream> #include <cstdlib> #include <stdexcept> #include <string> #include <stdio.h> std::string _executeShellCommand(std::string command) { char buffer[256]; std::string result = ""; const char * cmd = command.c_str(); FILE* pipe = popen(cmd, "r"); if (!pipe) throw std::runtime_error("popen() failed!"); try { while (!feof(pipe)) if (fgets(buffer, 128, pipe) != NULL) result += buffer; } catch […]

为什么不是我的端口暴露? 包括netstat输出

这是我的问题 # docker exec -ti root_web_1 bash [root@ca32f79bdc14]# curl couchdb:5984 curl: (7) Failed to connect to couchdb port 5984: Connection refused [root@ca32f79bdc14]# curl redis:6379 -ERR wrong number of arguments for 'get' command -ERR unknown command 'Host:' -ERR unknown command 'User-Agent:' -ERR unknown command 'Accept:' ^C 题 为什么我不能访问couchdb:5984 ? 背景 当我在我的couchdb容器中,我可以curl localhost:5984 ,它响应和netstat -nl给我 Proto Recv-Q […]

获取Linux的/ bin / ss工具的源代码

ss工具类似于netstat 。 ss使用的NETLINK库logging非常糟糕( man 7 netlink )。 我无法在网上find如何正确使用NETLINK_INET_DIAGfunction。 SS工具的源代码将有所帮助,但我也找不到它。 任何意见将非常感激。 root@ubuntu:~# uname -a Linux ubuntu 3.8.0-29-generic #42~precise1-Ubuntu SMP Wed Aug 14 15:31:16 UTC 2013 i686 i686 i386 GNU/Linux root@ubuntu:~# apt-get source ss Reading package lists… Done Building dependency tree Reading state information… Done E: Unable to find a source package for ss

如何用netstat单独打印IP和端口?

我想用netstat命令分别打印IP和端口, 我试过这个: netstat -nat | awk '{print $4}' 但它给了我: 192.168.1.213:40405 我想要这样的东西: 首先是IP: 192.168.1.213 并用另一个命令Port: 40405

Tomcat8作为Windows服务 – 监听networking套接字

如果Tomcat8是如何绑定到Windowsnetworking套接字的方式有什么区别是从控制台(通过startup.bat)启动如果是作为一个Windows服务启动? 如果Tomcat作为Windows服务启动,我无法连接到应用程序Web。 如果从控制台启动,请参阅netstat: C:\ Program Files \ Apache Software Foundation \ apache-tomcat-8.0.0-RC10 \ bin> netstat -abnop tcp | grep -i -B2 8089 [java.exe] ** TCP 0.0.0.0:8089 0.0.0.0:0听6016 如果作为服务启动,请参阅netstat(注意监听进程的不同名称): C:\ Program Files \ Apache Software Foundation \ apache-tomcat-8.0.0-RC10 \ bin> netstat -abnop tcp | grep -i -B2 8089 [tomcat8.exe] ** TCP 0.0.0.0:8089 0.0.0.0:0 LISTENING 2856 Windows服务是由文档创build的:“ […]

FIN_WAIT1是什么意思

当我从Windows7 / Vista向Linux Red Hat 4发送HTTPS请求时,'netstat -an'命令显示'FIN_WAIT1'或'SYNC_RECV'状态。 任何人都可以帮助我为什么这些状态出现,而不是ESTABLISHED?

获取使用的端口和状态

我怎样才能在Linux上使用端口及其状态? 基本上, netstat可以做的一切,但在C?