如何开启VMware串口

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何开启VMware串口相关的知识,希望对你有一定的参考价值。

如何开启VMware串口
先前在玩GEC2410时,有个想法,就是在linux下进行调试,由于目标板上电或复位时会发送信息给PC机的串口,这已在windows下实现过,于是想在linux下看看效果,可是当时我在linux下设好串口后,发现一点反应都没有,当时以为是自己没有安装交叉编译环境,于是昨天晚上把嵌入式 linux下的交叉编译环境装好后,心想这下应该可以拉,没想到我上电目标板,linux下的串口一直没有反应,郁闷,怎么这样呢,既然不适交叉编译环境的原因,总得有个原因吧,于是我上网搜,先前我也够笨的,怎么就不知道上网查呢,呵呵,原来是我没有把VMware的串口打开,呵呵,马上关机[关虚拟机下的系统],在VM->Setting......->点击ADD,把串口加进来,呵呵设置时尽量不要用自动检测,要选中串口,反正即使你的虚拟系统启动后可以随便改的,同时要把串口设为启动时就连接拉,这样,linux下的串口在目标板上电或复位后收到和windows下一样的数据,哈哈,爽!

环境:

宿主机:Windows7 VMware7.1

虚拟机:Fedora12

VMware的串口:

一个虚拟机最多可以添加四个虚拟串口,有如下几个方法配置虚拟串口:

连接一个虚拟串口到宿主机的物理串口。

连接一个虚拟串口到宿主机上的一个文件。

在两个虚拟机之间建立一个直接的连接,或者将虚拟机的串口与宿主机的应用程序连接。

为虚拟机添加串口

首先要保证虚拟机处于关机(power off)状态,选择菜单中的VM -> Settings... ,在Hardware标签页中点击Add按钮,在Add Hardware Wizard对话框中选择Serial Port,点击next,如图:

然后要选择Serial port type,共有三种类型:

1.如果你要使用宿主机的物理串口设备,选择Use physical serial port on the host,然后点击next,选择你要使用的物理串口即可。

2.如果想要将串口数据输出到一个文件,选择 Output to file,然后next,选择输出文件,该文件是一个txt文本文件。启动虚拟机后做个测试,在命令行中执行:

echo "asdf" >> /dev/ttyS0,

然后打开输出文件,即可看到串口输出的字符串asdf。

3.使用named pipe可以实现两个虚拟机或虚拟机与宿主机的应用程序通过串口连接。选择Output to named pipe,点击next,进入如下界面:

输入管道名,对于windows宿主机,管道名格式为 //./pipe/<namedpipe> ,必须以 //./pipe/开头。

输出调试信息到宿主机上的应用程序:

第一个下拉菜单选择This end is the server或This end isthe client,在第二个下拉菜单选择The other end is an application。

输出调试信息到另一个虚拟机:

第一个下拉菜单选择This end is the server,第二个下拉菜单选择The other end is an application。

将两个虚拟机用串口连接:

在虚拟机上安装Fedora12和ubuntu10.04,为两个虚拟机添加串口,

Fedora12的串口设置为:

Ubuntu10.04的串口设置为:

这样设置后Fedora的串口为serial port 1,设备名为ttyS0,ubuntu的串口为serial port 2,设备名为ttyS1。

测试:

在Fedora下执行:

cat < /dev/ttyS0

在ubuntu下执行:

echo hello > /dev/ttyS1

在Fedora里可以看到收到的字符串hello,说明ubuntu发送和Fedora接收正常,可以互换后做同样的测试。

语 法
statserial[必要参数][设备]

功 能
statserial 命令:显示各个接脚的状态,常用来判断串口是否正常,Ctrl+C退出
类似命令: stat

相似命令: linux命令

执行权限: 超级用户 普通用户

命令属性: 网络通讯

参数

必要参数
-n 不循环显示
-d 十进制显示
-x 十六进制显示

选择参数



范例

范例1:显示串口状态

[root@linux ~]# statserial /dev/tty1

范例2:只显示一次串口状态

[root@linux ~]# statserial -n /dev/tty1
参考技术A 是发给对方付大哥

vmware workstation linux 如何开启21端口

Ubuntu防火墙 UFW 设置

1.安装

sudo apt-get install ufw

2.启用

sudo ufw enable

sudo ufw default deny

运行以上两条命令后,开启了防火墙,并在系统启动时自动开启。关闭所有外部对本机的访问,但本机访问外部正常。

3.开启/禁用

sudo ufw allow|deny [service]

打开或关闭某个端口,例如:

sudo ufw allow smtp 允许所有的外部IP访问本机的25/tcp (smtp)端口

sudo ufw allow 22/tcp 允许所有的外部IP访问本机的22/tcp (ssh)端口

sudo ufw allow 53 允许外部访问53端口(tcp/udp)

sudo ufw allow from 192.168.1.100 允许此IP访问所有的本机端口

sudo ufw allow proto udp 192.168.0.1 port 53 to 192.168.0.2 port 53

sudo ufw deny smtp 禁止外部访问smtp服务

sudo ufw delete allow smtp 删除上面建立的某条规则

4.查看防火墙状态

sudo ufw status

一般用户,只需如下设置:

sudo apt-get install ufw

sudo ufw enable

sudo ufw default deny

以上三条命令已经足够安全了,如果你需要开放某些服务,再使用sudo ufw allow开启。

开启/关闭防火墙 (默认设置是’disable’)

sudo ufw enable|disable

转换日志状态

sudo ufw logging on|off

设置默认策略 (比如 “mostly open” vs “mostly closed”)

sudo ufw default allow|deny


可或者屏蔽端口 (可以在“status”
中查看到服务列表)。可以用“协议:端口”的方式指定一个存在于/etc/services中的服务名称,也可以通过包的meta-data。
‘allow’ 参数将把条目加入 /etc/ufw/maps ,而 ‘deny’ 则相反。基本语法如下:

sudo ufw allow|deny [service]

显示防火墙和端口的侦听状态,参见 /var/lib/ufw/maps。括号中的数字将不会被显示出来。

sudo ufw status

UFW 使用范例:

允许 53 端口

$ sudo ufw allow 53

禁用 53 端口

$ sudo ufw delete allow 53

允许 80 端口

$ sudo ufw allow 80/tcp

禁用 80 端口

$ sudo ufw delete allow 80/tcp

允许 smtp 端口

$ sudo ufw allow smtp

删除 smtp 端口的许可

$ sudo ufw delete allow smtp

允许某特定 IP

$ sudo ufw allow from 192.168.254.254

删除上面的规则

$ sudo ufw delete allow from 192.168.254.254

centos 设置防火墙

1 检查当前开发的端口

#netstat -an

假设发现了不必要的端口 631

2 查找端口对应的服务

#lsof -i :631

631对应的服务是cupsd

3 查看当前所有的服务

#chkconfig –list

发现cupsd的服务名是cups

4 关闭服务

#/sbin/service cups stop

5 关闭服务自动启动

如果cups是随服务器自动启动的,那么还需要将cups服务设置为off.

#/sbin/chkconfig cups off

6.关闭某个端口

1)通过iptables工具将该端口禁掉,如:

"~$ sudo iptables -A INPUT -p tcp --dport $PORT -j DROP"
"~$ sudo iptables -A OUTPUT -p tcp --dport $PORT -j DROP"

2)或者关掉对应的应用程序,则端口就自然关闭了,如:

"~$ kill -9 PID" (PID:进程号)
如: 通过"~$ netstat -anp | grep ssh"
有显示: tcp 0 127.0.0.1:2121 0.0.0.0:* LISTEN 7546/ssh
则: "~$ kill -9 7546"

(可通过"~$ chkconfig"查看系统服务的开启状态)

7.打开端口

iptables -A INPUT -p tcp --dport 111 -j ACCEPT

8.开发不连续端口(包括单个):

iptables -A INPUT -p tcp -m multiport --dport 21,20 -j ACCEPT
其他都关闭:
iptables -A INPUT -p tcp -j REJECT --reject-with tcp-reset
开放连续端口:
iptables -A RH-Firewall-1-INPUT -m state --state NEW -m udp -p udp --dport 8001:8140 -j ACCEPT
还可以直接修改/etc/sysconfig/iptables,如何写,参考已开端口,或者按照上面的命令填写即可

重新启动iptables
service iptables restart
参考技术A

21号端口是ftp服务默认监听的端口。只要你启动了ftp服务,这个端口就开启了;

#service vsftpd  start
#service iptables stop #关闭防火墙



祝你好运~~~

望采纳~~~

本回答被提问者和网友采纳
参考技术B 在关闭iptables防火墙的情况下,linux系统中只要服务已经监听这个端口,那么这个端口是对外开放的。

以上是关于如何开启VMware串口的主要内容,如果未能解决你的问题,请参考以下文章

VMware Workstation15为虚拟机添加串行口

windows下Vmware虚拟机里的“232串口”怎么和本机232串口通信?

vmware workstation linux 如何开启21端口

怎样开启VMware DHCP Service和VMware NAT Service服务,虚拟机上网问题

请问vmware的虚拟系统启动关闭脚本如何写?

Vmware 不能上网