2017年1月

在 Linux 或者类 Unix 中,我该如何检查某个端口是否被占用?我又该如何验证 Linux 服务器中有哪些端口处于监听状态?

验证哪些端口在服务器的网络接口上处于监听状态是非常重要的。你需要注意那些开放端口来检测网络入侵。除了网络入侵,为了排除故障,确认服务器上的某个端口是否被其他应用程序占用也是必要的。比方说,你可能会在同一个系统中安装了 Apache 和 Nginx 服务器,所以了解是 Apache 还是 Nginx 占用了 # 80/443 TCP 端口真的很重要。这篇快速教程会介绍使用 netstatnmaplsof 命令来检查端口使用信息并找出哪些程序正在使用这些端口。

如何检查 Linux 中的程序和监听的端口

1、 打开一个终端,如 shell 命令窗口。 2、 运行以下任意一行命令:

sudo lsof -i -P -n | grep LISTEN
sudo netstat -tulpn | grep LISTEN
sudo nmap -sTU -O IP地址

下面我们看看这些命令和它们的详细输出内容:

方式 1:lsof 命令

语法如下:

$ sudo lsof -i -P -n
$ sudo lsof -i -P -n | grep LISTEN
$ doas lsof -i -P -n | grep LISTEN  ### OpenBSD

输出如下:

图 1:使用 lsof 命令检查监听端口和程序

仔细看上面输出的最后一行:

sshd    85379     root    3u  IPv4 0xffff80000039e000      0t0  TCP 10.86.128.138:22 (LISTEN)
  • sshd 是程序的名称
  • 10.86.128.138sshd 程序绑定 (LISTEN) 的 IP 地址
  • 22 是被使用 (LISTEN) 的 TCP 端口
  • 85379sshd 任务的进程 ID (PID)

方式 2:netstat 命令

你可以如下面所示使用 netstat 来检查监听的端口和程序。

Linux 中 netstat 语法

$ netstat -tulpn | grep LISTEN

FreeBSD/MacOS X 中 netstat 语法

$ netstat -anp tcp | grep LISTEN
$ netstat -anp udp | grep LISTEN

OpenBSD 中 netstat 语法

$ netstat -na -f inet | grep LISTEN
$ netstat -nat | grep LISTEN

方式 3:nmap 命令

语法如下:

$ sudo nmap -sT -O localhost
$ sudo nmap -sU -O 192.168.2.13 ### 列出打开的 UDP 端口
$ sudo nmap -sT -O 192.168.2.13 ### 列出打开的 TCP 端口

示例输出如下:

图 2:使用 nmap 探测哪些端口监听 TCP 连接

你可以用一句命令合并 TCP/UDP 扫描:

$ sudo nmap -sTU -O 192.168.2.13

赠品:对于 Windows 用户

在 windows 系统下可以使用下面的命令检查端口使用情况:

netstat -bano | more
netstat -bano | grep LISTENING
netstat -bano | findstr /R /C:"[LISTING]"

via: https://www.cyberciti.biz/faq/unix-linux-check-if-port-is-in-use-command/

作者:VIVEK GITE 译者:GHLandy 校对:oska874

本文由 LCTT 原创编译,Linux中国 荣誉推出

简介

Linux 经常被看成是一个远离外部世界,只有极客才会使用的操作系统,虽然这是一个误解,但事实上,如果你想开发软件,那么 Linux 系统能够为你提供一个很好的开发环境。

刚开始学习编程的新手们经常会问这样一个问题:应该使用哪种语言?当涉及到 Linux 系统的时候,通常的选择是 C、C++、Python、Java、PHP、Perl 和 Ruby On Rails。

Linux 系统的许多核心程序都是用 C 语言写的,但是如果离开 Linux 系统的世界, C 语言就不如其它语言比如 Java 和 Python 那么常用。

对于学习编程的人来说, Python 和 Java 都是不错的选择,因为它们是跨平台的,因此,你在 Linux 系统上写的程序在 Windows 系统和 Mac 系统上也能够很好的工作。

虽然你可以使用任何编辑器来开发 Python 程序,但是如果你使用一个同时包含编辑器和调试器的优秀的集成开发环境(IDE)来进行开发,那么你的编程生涯将会变得更加轻松。

PyCharm 是由 Jetbrains 公司开发的一个跨平台编辑器。如果你之前是在 Windows 环境下进行开发,那么你会立刻认出 Jetbrains 公司,它就是那个开发了 Resharper 的公司。 Resharper 是一个用于重构代码的优秀产品,它能够指出代码可能存在的问题以及自动添加声明:比如当你在使用一个类的时候它会自动为你导入。

这篇文章将讨论如何在 Linux 系统上获取、安装和运行 PyCharm 。

如何获取 PyCharm

你可以通过访问这儿获取 PyCharm 。屏幕中央有一个很大的 'Download' 按钮。

你可以选择下载专业版或者社区版。如果你刚刚接触 Python 编程那么推荐下载社区版。然而,如果你打算发展到专业化的编程,那么专业版的一些优秀特性是不容忽视的。

如何安装 PyCharm

下载好的文件的名称可能是 ‘pycharm-professional-2016.2.3.tar.gz’。

以 “tar.gz” 结尾的文件是被 gzip 工具压缩过的,并且把文件夹用 tar 工具归档到了一起。你可以阅读关于提取 tar.gz 文件指南的更多信息。

加快节奏,为了解压文件,你需要做的是首先打开终端,然后通过下面的命令进入下载文件所在的文件夹:

cd ~/Downloads

现在,通过运行下面的命令找到你下载的文件的名字:

ls pycharm*

然后运行下面的命令解压文件:

tar -xvzf pycharm-professional-2016.2.3.tar.gz -C ~

记得把上面命令中的文件名替换成通过 ls 命令获知的 pycharm 文件名。(也就是你下载的文件的名字)。上面的命令将会把 PyCharm 软件安装在 home 目录中。

如何运行 PyCharm

要运行 PyCharm, 首先需要进入 home 目录:

cd ~

运行 ls 命令查找文件夹名:

ls

查找到文件名以后,运行下面的命令进入 PyCharm 目录:

cd pycharm-2016.2.3/bin

最后,通过运行下面的命令来运行 PyCharm:

sh pycharm.sh &

如果你是在一个桌面环境比如 GNOME、KDE、Unity、Cinnamon 或者其他现代桌面上运行,那么你也可以通过桌面环境的菜单或者快捷方式来找到 PyCharm 。

总结

现在, PyCharm 已经安装好了,你可以开始使用它来开发一个桌面应用、 web 应用和各种工具。

如果你想学习如何使用 Python 编程,那么这儿有很好的学习资源值得一看。里面的文章更多的是关于 Linux 学习,但也有一些资源比如 Pluralsight 和 Udemy 提供了关于 Python 学习的一些很好的教程。

如果想了解 PyCharm 的更多特性,请点击这儿来查看。它覆盖了从创建项目到描述用户界面、调试以及代码重构的全部内容。


via: https://www.lifewire.com/how-to-install-the-pycharm-python-ide-in-linux-4091033

作者:Gary Newell 译者:ucasFL 校对:wxy

本文由 LCTT 组织编译,Linux中国 荣誉推出