Linux密码隐藏输出 *

本文通过C语言及curses库展示了一个简单的程序,该程序能够接收用户输入的六位数字,并实时以星号(*)显示在屏幕上。当用户尝试输入第七位数字时,程序会返回初始状态。文中涉及curses库的基本使用方法,如initscr(), noecho(), cbreak()等函数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

代码如下:

#include<stdio.h>

#include<curses.h>     // curses.h为图形函数库  编译时加   - lcurses
int main()
{
    int i,j=0;
    char ch;
    initscr();                     //使用curses库,程序开始时要加  initscr()来初始化屏幕,退出程序前要加 endwin()来结束。
    cbreak();                     //调用cbreak()函数后,除了“Del”“Ctrl”键外,接受其他所有字符输入。禁止行缓冲。
    noecho();                  //noecho()关闭回显功能,echo()打开。
    curs_set(0);               //把光标置为不可见
    for(i=0;i<6+2*j;i++)
    {
        ch=getch();
        addstr("*");            //addstr() 函数用于指定窗口输出字符串
        if(i)
        {
            if(ch==127)
            {
                j++;
                move(0,i+1-2*j);        //move移动光标
                clrtoeol();                    //clreol() 为清除字符到行末,clrtoeol()没找到!!!
            }
        }
    }
    getch();

    endwin();                 //
    return 0;

}


输入时:

输入6位数字用 * 代替,输入第七位时自动跳回编译时的界面,根本看不懂!!!

<think>好的,我现在需要帮助用户解决在Linux系统中取消隐藏无线网络的问题。用户之前询问了哪些Linux发行版对新型无线网卡兼容性更好,现在转向具体的网络设置问题。首先,我需要理解用户的真正需求:如何让一个隐藏的SSID无线网络在Linux系统上变为可见,或者如何配置自己的无线网络使其可见。用户提供的引用中有关于Windows XP删除WiFi密码、wifi重新扫描命令、取消身份验证攻击等内容,但可能这些引用与当前问题关联不大。不过,我需要结合用户之前的问题和回答,确保回答准确。用户之前的问题涉及无线网卡兼容性和驱动管理,可能现在的问题涉及到网络配置工具的使用。首先,我需要回忆Linux下管理无线网络的常用工具,比如NetworkManager(nmcli、nmtui)、iw、wpa_supplicant等。隐藏的SSID网络通常不会主动广播,但可以通过主动扫描或手动配置来连接。要让隐藏的网络可见,可能需要修改网络配置,使其广播SSID。接下来,我需要分步骤思考如何实现这一点: 1. **使用NetworkManager(nmcli/nmtui)**:这是大多数现代发行版默认使用的网络管理工具。用户可能通过图形界面或命令行来修改网络配置,将隐藏的SSID改为可见。2.**使用iw命令**:可能需要使用iw工具来直接配置无线接口,设置SSID的广播。3.**修改配置文件**:对于使用wpa_supplicant的情况,可能需要编辑配置文件,移除hidden=1的参数。 但需要确认,用户的问题是指让系统连接到原本隐藏的网络,还是将自己的AP设置为可见。根据用户的问题“取消隐藏无线网络设置无线网络为可见”,应该是后者,即配置自己的无线接入点(AP)为可见,而不是隐藏。但用户可能混淆了这两者,需要进一步澄清。不过根据问题描述,用户可能想将已隐藏的网络设置为可见,即让AP广播SSID。 假设用户是想要配置自己的AP为可见,那么需要指导如何修改AP的配置。但如果是连接到隐藏的网络,用户可能需要知道如何让系统发现该网络,但用户的问题明确是“取消隐藏”,即让网络可见,所以应该是配置AP。 不过,用户可能是在个人电脑上创建热点,或者使用路由器管理界面。但在Linux系统中,如果是使用hostapd等工具创建热点,修改配置文件的hidden参数即可。如果是使用NetworkManager创建热点,可能需要通过相应设置取消隐藏。但用户的问题可能更基础,即如何在Linux系统中让一个已配置的隐藏网络变为可见。可能需要检查NetworkManager的连接配置,将hidden属性改为否。 另外,用户引用了关于wifi rescan的命令,可能涉及扫描隐藏网络,但用户的问题是关于设置网络为可见,所以需要区分主动扫描和配置AP。需要整理步骤:1.使用nmcli修改现有连接的隐藏属性。2.使用hostapd配置文件的参数修改。3.使用iw命令设置接口的SSID广播。 需要确保步骤正确,并且适用于常见的Linux发行版,如Ubuntu、Fedora等,这些发行版通常使用NetworkManager。 可能还需要提到,如果用户是使用路由器而不是本地Linux机器作为AP,则需要通过路由器管理界面进行设置,这在Linux指令中无法直接操作,但用户的问题可能是指本地机器作为AP的情况。 综上,回答需要分情况讨论,并给出具体的命令行操作步骤,如使用nmcli修改连接配置,或者编辑hostapd配置文件,并重启相关服务。同时,需要引用相关的命令,如用户提到的nmcli devicewifi rescan可能用于扫描,但设置可见性可能需要不同的命令。</think>### 如何在Linux系统中取消隐藏无线网络(设置无线网络为可见) #### 一、通过NetworkManager(图形界面)操作 1. **打开网络设置** - 在GNOME/KDE桌面环境中,点击右上角网络图标 → 选择"Wi-Fi设置" - 找到已配置的隐藏网络(通常显示为"隐藏网络"),点击齿轮图标进入属性 2. **修改SSID可见性** ```bash # 若网络是通过NetworkManager创建的AP热点 nm-connection-editor ``` - 选择无线连接 → "Wi-Fi"选项卡 → 取消勾选"Hidden"选项[^2] --- #### 二、通过命令行(nmcli)配置 1. **查看现有连接配置** ```bash nmcli connection show # 示例输出: # NAME UUID TYPE DEVICE # MyHiddenNetwork 518f8c79-f2c1-4e4b-97e5-3a1234567890 wifi wlp3s0 ``` 2. **修改隐藏属性** ```bash sudo nmcli connection modify MyHiddenNetwork 802-11-wireless.hidden false sudo nmcli connection reload sudo systemctl restart NetworkManager ``` --- #### 三、使用hostapd部署可见AP(适用于自建热点) 1. **编辑hostapd配置文件** ```bash sudo nano /etc/hostapd/hostapd.conf # 修改或添加以下参数: ssid=YourNetworkName ignore_broadcast_ssid=0 # 0表示广播SSID(默认值),1表示隐藏 ``` 2. **重启服务生效** ```bash sudo systemctl restart hostapd ``` --- #### 四、底层工具操作(iw命令) 1. **查看无线接口状态** ```bash iw dev # 确认无线接口名称(如wlp3s0) 2. **设置SSID广播** ```bash sudo iw dev wlp3s0 set type __ap sudo iw dev wlp3s0 ap start your_ssid # 注意:部分驱动可能不支持此操作[^5] ``` --- #### 五、兼容性验证 ```bash # 扫描验证网络可见性 nmcli device wifi rescan # 触发重新扫描[^2] nmcli device wifi list # 检查目标SSID是否出现在列表中 ``` ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值