做一名合格的嵌入式工程師!這些網絡命令必須知道!

2021-02-20 學益得智能硬體

網絡盛行的年代

嵌入式不再是孤立的設備

物聯網就是要萬物互聯

搞不懂網絡

怎麼成為合格的嵌入式工程師

Linux網絡很強大

從網絡工具到網絡協議

再到防火牆

不鑽研幾年

很難搞懂

網絡一直以來都是面試重點

作為應屆生

雖然不用精通

但起碼得了解

絕對是面試的加分項啊

01 ping

作用

ping 命令是用來測試 TCP/IP 網絡是否暢通或者測試網絡連接速度的命令,對確定網絡是否正確連接、以及網絡連接的狀況十分有用。簡單的說,ping 就是一個測試程序,如果 ping 運行正確,大體上就可以排除網絡訪問層、網卡、Modem 的輸入輸出線路、電纜和路由器等存在的故障,從而縮小問題的範圍。

語法

ping  [-aAbBdDfhLnOqrRUvV]  [-c  count] [-F flowlabel] [-i interval] [-I interface] [-l preload] [-m mark] [-M       pmtudisc_option] [-N nodeinfo_option] [-w deadline] [-W timeout] [-p pattern] [-Q  tos]  [-s  packetsize]  [-S       sndbuf] [-t ttl] [-T timestamp option] [hop ...] destination

來源:man手冊

ping最常見的用法是:ping [選項] 地址。地址可以是 ip,也可以是域名或者主機名。

比如我們做如下測試:

選項

-c:訪問的次數

-d:使用Socket的SO_DEBUG功能;

-c<完成次數>:設置完成要求回應的次數;

-f:極限檢測;

-i<間隔秒數>:指定收發信息的間隔時間;

-L<網絡界面>:使用指定的網絡界面送出數據包;

-l<前置載入>:設置在送出要求信息之前,先行發出的數據包;

-n:只輸出數值;

-p<範本樣式>:設置填滿數據包的範本樣式;

-q:不顯示指令執行過程,開頭和結尾的相關信息除外;

-r:忽略普通的Routing Table,直接將數據包送到遠端主機上;

-R:記錄路由過程;

-s<數據包大小>:設置數據包的大小;

-v:詳細顯示指令的執行過程;

-t<存活數值>:設置存活數值TTL的大小。

做如下測試:

02 traceroute

作用

traceroute命令用於追蹤數據包在網絡上傳輸時的全部路徑,它默認發送的數據包大小是40位元組。

通過 traceroute 我們可以知道信息從你的計算機到網際網路另一端的主機是走的什麼路徑。當然每次數據包由某一同樣的出發點(source)到達某一同樣的目的地(destination)走的路徑可能會不一樣,但基本上來說大部分時候所走的路由是相同的。

traceroute通過發送小的數據包到目的設備直到其返回,來測量其需要多長時間。一條路徑上的每個設備 traceroute 要測3次。輸出結果中包括每次測試的時間(ms)和設備的名稱(如有的話)及其 ip 地址。

traceroute [-46dFITUnreAV] [-f first_ttl] [-g gate,...]               [-i device] [-m max_ttl] [-p port] [-s src_addr]               [-q nqueries] [-N squeries] [-t tos]               [-l flow_label] [-w waittime] [-z sendwait] [-UL] [-D]               [-P proto] [--sport=port] [-M method] [-O mod_options]               [--mtu] [--back]               host [packet_len]

來源:man手冊

選項


-d:使用Socket層級的排錯功能;

-f<存活時間>:設置第一個檢測數據包的存活數值TTL的大小;

-F:設置勿離斷位;

-g<網關>:設置來源路由網關,最多可設置8個;

-i<網絡界面>:使用指定的網絡界面送出數據包;

-l:使用ICMP回應取代UDP資料信息;

-m<存活數值>:設置檢測數據包的最大存活數值TTL的大小;

-n:直接使用IP位址而非主機名;

-p<通信埠>:設置UDP傳輸協議的通信埠;

-r:忽略普通的Routing Table,直接將數據包送到遠端主機上;

-s<來源地址>:設置本地主機送出數據包的TOS數值;

-v:詳細顯示指令的執行過程;

-w<超時秒數>:設置等待遠端主機回報的時間;

-x:開啟或關閉數據包的正確性檢驗

我們做如下測試:

我們可以看到,數據編號從1開始,每個編號表示一跳,即一個網關。可以這麼理解,數據從我的電腦發出,先經過家裡的路由器,算一個網關;再經過小區所在的區域路由器,又是一個網關。一層一層往上發送數據,最終到達百度的伺服器。

每行有三組數據,因為探測包會向每個網關發送三次數據,得到三組返回的時間。有的行全部是星號,可能是因為防火牆的關係,屏蔽了ICMP的返回信息,所以看不到任何數據。

03 telnet

作用

telnet命令用於登錄遠程主機,對遠程主機進行管理。telnet 因為採用明文傳送報文,安全性不好,很多 Linux 伺服器都不開放 telnet 服務,而改用更安全的 ssh 方式了。

語法

telnet [-468ELadr] [-S tos] [-b address] [-e escapechar] [-l user] [-n tracefile] [host [port]]

-8:允許使用8位字符資料,包括輸入與輸出;

-a:嘗試自動登入遠端系統;

-b<主機別名>:使用別名指定遠端主機名稱;

-c:不讀取用戶專屬目錄裡的.telnetrc文件;

-d:啟動排錯模式;

-e<脫離字符>:設置脫離字符;

-E:濾除脫離字符;

-f:此參數的效果和指定」-F」參數相同;

-F:使用Kerberos V5認證時,加上此參數可把本地主機的認證數據上傳到遠端主機;

-k<域名>:使用Kerberos認證時,加上此參數讓遠端主機採用指定的領域名,而非該主機的域名;

 -K:不自動登入遠端主機;

-l<用戶名稱>:指定要登入遠端主機的用戶名稱;

-L:允許輸出8位字符資料;

-n<記錄文件>:指定文件記錄相關信息;

-r:使用類似rlogin指令的用戶界面;

-S<服務類型>:設置telnet連線所需的ip TOS信息;

-x:假設主機有支持數據加密的功能,就使用它;

-X<認證形態>:關閉指定的認證形態。

netstat命令用於顯示與 IP、TCP、UDP 和 ICMP協議相關的統計數據,一般用於檢驗本機各埠的網絡連接情況。netstat 是在內核中訪問網絡及相關信息的程序,它能提供 TCP 連接,TCP 和 UDP 監聽,進程內存管理的相關報告。
netstat [address_family_options] [--tcp|-t]  [--udp|-u]  [--raw|-w]  [--listening|-l]  [--all|-a]  [--numeric|-n]       [--numeric-hosts]  [--numeric-ports]  [--numeric-users]  [--symbolic|-N] [--extend|-e[--extend|-e]] [--timers|-o]       [--program|-p] [--verbose|-v] [--continuous|-c]
netstat {--route|-r} [address_family_options] [--extend|-e[--extend|-e]] [--verbose|-v] [--numeric|-n] [--numeric-hosts] [--numeric-ports] [--numeric-users] [--continuous|-c]
netstat {--interfaces|-i} [--all|-a] [--extend|-e[--extend|-e]] [--verbose|-v] [--program|-p] [--numeric|-n] [--numeric-hosts] [--numeric-ports] [--numeric-users] [--continuous|-c]
netstat {--groups|-g} [--numeric|-n] [--numeric-hosts] [--numeric-ports] [--numeric-users] [--continuous|-c]
netstat {--masquerade|-M} [--extend|-e] [--numeric|-n] [--numeric-hosts] [--numeric-ports] [--numeric-users] [--continuous|-c]
netstat {--statistics|-s} [--tcp|-t] [--udp|-u] [--raw|-w]
netstat {--version|-V}
netstat {--help|-h}
address_family_options:
[-4] [-6] [--protocol={inet,unix,ipx,ax25,netrom,ddp}[,...]] [--unix|-x] [--inet|--ip] [--ax25] [--ipx] [--netrom] [--ddp]

來源:man手冊

選項

-a:顯示所有連線中的Socket;

-A<網絡類型>:列出該網絡類型連線中的相關地址;

-c:持續列出網絡狀態;

-C:顯示路由器配置的快取信息;

-e:顯示網絡其他相關信息;

-F:顯示FIB;

-g:顯示多重廣播功能群組組員名單;

-h:在線幫助;

-i:顯示網絡界面信息表單;

-l:顯示監控中的伺服器的Socket;

-M:顯示偽裝的網絡連線;

-n:直接使用ip地址,而不通過域名伺服器;

-N:顯示網絡硬體外圍設備的符號連接名稱;

-o:顯示計時器;

-p:顯示正在使用Socket的程序識別碼和程序名稱; 

-r:顯示Routing Table;

-s:顯示網絡工作信息統計表;

-t:顯示TCP傳輸協議的連線狀況;

-u:顯示UDP傳輸協議的連線狀況;

-v:顯示指令執行過程;

-V:顯示版本信息;

-w:顯示RAW傳輸協議的連線狀況;

-x:此參數的效果和指定」-A unix」參數相同;

–ip:此參數的效果和指定」-A inet」參數相同

從整體上看,netstat的輸出結果可以分為兩個部分:

一個是Active Internet connections,稱為有源TCP連接,其中"Recv-Q"和"Send-Q"指的是接收隊列和發送隊列。這些數字一般都應該是0。如果不是則表示軟體包正在隊列中堆積。這種情況只能在非常少的情況見到。

另一個是Active UNIX domain sockets,稱為有源Unix域套接口(和網絡套接字一樣,但是只能用於本機通信,性能可以提高一倍)。

Proto顯示連接使用的協議,RefCnt表示連接到本套接口上的進程號,Types顯示套接口的類型,State顯示套接口當前的狀態,Path表示連接到套接口的其它進程使用的路徑名。

LISTEN:偵聽來自遠方的TCP埠的連接請求;

SYN-SENT:在發送連接請求後等待匹配的連接請求(如果有大量這樣的狀態包,檢查是否中招了);

SYN-RECEIVED:在收到和發送一個連接請求後等待對方對連接請求的確認(如有大量此狀態,估計被flood攻擊了);

ESTABLISHED:代表一個打開的連接;

FIN-WAIT-1:等待遠程TCP連接中斷請求,或先前的連接中斷請求的確認;

FIN-WAIT-2:從遠程TCP等待連接中斷請求;

CLOSE-WAIT:等待從本地用戶發來的連接中斷請求;

CLOSING:等待遠程TCP對連接中斷的確認;

LAST-ACK:等待原來的發向遠程TCP的連接中斷請求的確認(不是什麼好東西,此項出現,檢查是否被攻擊);

TIME-WAIT:等待足夠的時間以確保遠程TCP接收到連接中斷請求的確認;

CLOSED:沒有任何連接狀態。

常見用法

05 ifconfig

ifconfig命令被用於配置和顯示Linux內核中網絡接口的網絡參數。用ifconfig命令配置的網卡信息,在網卡重啟後機器重啟後,配置就不存在。要想將上述的配置信息永遠的存的電腦裡,那就要修改網卡的配置文件了。 

ifconfig [-v] [-a] [-s] [interface]ifconfig [-v] interface [aftype] options | address ...

 

顯示所有網卡信息

  

操作指定網卡

route命令用於顯示和操作 IP 路由表。

要實現兩個不同的子網之間的通信,需要一臺連接兩個網絡的路由器,或者同時位於兩個網絡的網關來實現。在Linux系統中,設置路由通常是為了解決以下問題:該 Linux 系統在一個區域網中,區域網中有一個網關,能夠讓 Linux 訪問 Internet,那麼就需要將網關的 IP 地址設置為 Linux 機器的默認路由。要注意的是,直接在命令行下執行 route 命令來添加路由,不會永久保存,當網卡重啟或者機器重啟之後,該路由就失效了;要想永久保存,可以保存到配置文件。

Linux 默認只支持一條默認路由,當重新啟動網口時,會把其他默認路由去掉,只剩下一條該網口生成的默認路由。當然可以通過 route 命令手動添加多條默認路由,如果多條路由一樣,則選擇最開始找到的路由(排在前面的路由)。

route [-CFvnee]
route [-v] [-A family] add [-net|-host] target [netmask Nm] [gw Gw] [metric N] [mss M] [window W] [irtt I] [reject] [mod] [dyn] [reinstate] [[dev] If]
route [-v] [-A family] del [-net|-host] target [gw Gw] [netmask Nm] [metric N] [[dev] If]
route [-V] [--version] [-h] [--help]

查看路由信息

Destination:目標網絡或者目標主機。Destination為default(0.0.0.0)時,表示這是默認網關,所有數據都發到這個網關。

Gateway:網關地址。0.0.0.0 表示當前記錄對應的 Destination 跟本機在同一個網段,通信時不需要經過網關。

Genmask:Destination 欄位的網絡掩碼,Destination 是主機時需要設為 255.255.255.255,是默認路由時會設置為 0.0.0.0。

Flags:標記。U 該路由可以使用;G 該路由是到一個網關;R 恢復動態路由產生的表項;D 該路由是由改變路由(redirect)報文創建的;M 該路由已被改變路由報文修改;!這個路由將不會被接受。

Metric:路由距離,到達指定網絡所需的中轉數,是大型區域網和廣域網設置所必需的。

Ref:路由項引用次數 。

Use:此路由項被路由軟體查找的次數。

Iface:網卡名字,例如 eth0。

route del default gw 192.168.1.1

添加默認網關

route add default gw 192.168.1.1

brctl用於在 Linux 內核中設置、維護和檢查乙太網橋配置。

乙太網橋通常用於將不同的乙太網網絡連接在一起,因此這些乙太網將作為網絡的參與者出現。

連接的每個乙太網都對應網橋中的一個物理接口。這些單獨的乙太網被捆綁進一個更大的(「邏輯」)乙太網。

brctl addbr br0       brctl addif br0 eth0  ifconfig br0 192.168.1.1 brctl show            brctl delif br0 eth0  brctl delbr br0       

ARP是一個重要的 TCP/IP 協議,並且用於確定對應 IP 地址的網卡物理地址。使用 arp 命令,我們能夠查看本地計算機或另一臺計算機的 ARP 高速緩存中的當前內容。此外,使用 arp 命令,也可以用人工方式輸入靜態的網卡物理/IP位址對,我們可能會使用這種方式為預設網關和本地伺服器等常用主機進行這項操作,有助於減少網絡上的信息量。
arp [-vn] [-H type] [-i if] [-a] [hostname]
arp [-v] [-i if] -d hostname [pub]
arp [-v] [-H type] [-i if] -s hostname hw_addr [temp]
arp [-v] [-H type] [-i if] -s hostname hw_addr [netmask nm] pub
arp [-v] [-H type] [-i if] -Ds hostname ifname [netmask nm] pub
arp [-vnD] [-H type] [-i if] -f [filename]

-a<主機>:顯示arp緩衝區的所有條目; 

-H<地址類型>:指定arp指令使用的地址類型;

-d<主機>:從arp緩衝區中刪除指定主機的arp條目;

-D:使用指定接口的硬體地址;

-e:以Linux的顯示風格顯示arp緩衝區中的條目;

-i<接口>:指定要操作arp緩衝區的網絡接口;

-s<主機><硬體地址>:設置指定主機的IP位址與MAC地址的靜態映射;

 -n:以數字方式顯示arp緩衝區中的條目;

-v:顯示詳細的arp緩衝區條目,包括緩衝區條目的統計信息;

-f<文件>:設置主機的IP位址與MAC地址的靜態映射。

顯示arp緩衝區所有條目
   

清空arp緩衝區   
   

host命令是常用的分析域名查詢工具,可以檢測域名系統工作是否正常。

host [-aCdlnrsTwv] [-c class] [-N ndots] [-R number] [-t type] [-W wait] [-m flag] [-4] [-6] [-v] [-V] {name}     [server]

常見用法

10 tcpdump

作用

tcpdump命令是一款抓取數據包的工具,它可以列印所有經過網絡接口的數據包的頭信息,也可以使用 -w 選項將數據包保存到文件中,方便以後分析。
tcpdump [ -AbdDefhHIJKlLnNOpqStuUvxX# ] [ -B buffer_size ]        [ -c count ]        [ -C file_size ] [ -G rotate_seconds ] [ -F file ]        [ -i interface ] [ -j tstamp_type ] [ -m module ] [ -M secret ]        [ --number ] [ -Q in|out|inout ]        [ -r file ] [ -V file ] [ -s snaplen ] [ -T type ] [ -w file ]        [ -W filecount ]        [ -E spi@ipaddr algo:secret,...  ]        [ -y datalinktype ] [ -z postrotate-command ] [ -Z user ]        [ --time-stamp-precision=tstamp_precision ]        [ --immediate-mode ] [ --version ]        [ expression ]

選項

-a:嘗試將網絡和廣播地址轉換成名稱;

-c<數據包數目>:收到指定的數據包數目後,就停止進行傾倒操作;

-d:把編譯過的數據包編碼轉換成可閱讀的格式,並傾倒到標準輸出;

-dd:把編譯過的數據包編碼轉換成C語言的格式,並傾倒到標準輸出;

-ddd:把編譯過的數據包編碼轉換成十進位數字的格式,並傾倒到標準輸出;

-e:在每列傾倒資料上顯示連接層級的文件頭;

-f:用數字顯示網際網絡地址;

-F<表達文件>:指定內含表達方式的文件;

-i<網絡界面>:使用指定的網絡截面送出數據包;

-l:使用標準輸出列的緩衝區;

-n:不把主機的網絡地址轉換成名字;

-N:不列出域名;

-O:不將數據包編碼最佳化;

-p:不讓網絡界面進入混雜模式;

-q :快速輸出,僅列出少數的傳輸協議信息;

-r<數據包文件>:從指定的文件讀取數據包數據;

-s<數據包大小>:設置每個數據包的大小;

-S:用絕對而非相對數值列出TCP關聯數;

-t:在每列傾倒資料上不顯示時間戳記;

-tt:在每列傾倒資料上顯示未經格式化的時間戳記;

-T<數據包類型>:強制將表達方式所指定的數據包轉譯成設置的數據包類型;

-v:詳細顯示指令執行過程;

-vv:更詳細顯示指令執行過程;

-x:用十六進位字碼列出數據包資料;

-w<數據包文件>:把數據包數據寫入指定的文件。

監聽eth0接口

 





相關焦點

  • 嵌入式軟體工程師從初級邁入合格,可以這麼來做!
    所以,人們經常按照作業系統或者硬體結構來細分嵌入式系統軟體工程師,比如嵌入式系統(Linux)工程師、嵌入式系統(WINCE)工程師、嵌入式系統(ARM)工程師、嵌入式系統(MIPS)工程師等。具有理論與實踐並重,內外雙修的素質一個合格的嵌入式系統軟體工程師,是真正理解了嵌入式系統軟體產品的本質及軟體產品研發思想精髓的人。掌握嵌入式系統軟體開發語言、應用語言工具解決工作中的具體問題、完成目標任務是嵌入式系統軟體工程師的主要工作。
  • 嵌入式+AI,嵌入式工程師的前景如何?
    這些形形色色的「高端產品」都離不開嵌入式技術,離不開傳感器技術,離不開軟體程序。根據我的經驗,世界上可以分成兩種嵌入式工程師,一種是大公司的嵌入式工程師,另一種是小公司的嵌入式工程師,我知道這樣分類很不妥,但並非毫無道理,請聽我一一下概述:大公司:大公司的特色是什麼?答案:人多!人多導致的後果是什麼?
  • 嵌入式工程師的工作狀態
    經常會有初學者提出這樣的問題:我是學物聯網工程的,在學校編程和嵌入式都有學習,前段時間集中實踐發現自己對嵌入式挺感興趣的,但身邊從事硬體的學長學姐幾乎沒有,也不知道從哪裡獲得過來人可靠的消息。所以想問問從事嵌入式的工程師平常的工作是什麼樣?現在的就業現狀,工資待遇如何,還有就是比起從事軟體開發有哪些區別?
  • 工程師最愛讀的10本經典嵌入式書籍,看完愛不釋手
    最近在學習群裡跟學員交流,發現很多的初學者只有單片機基礎,或者是沒有學過單片機,想重新學習嵌入式,學習Linux,但是對很多概念都比較陌生,導致不知道要學什麼,也不知道學了之後有什麼用。所以,今天就抽著自己稍有一些空餘時間,給大家簡單講解一下單片機跟嵌入式,兩者之間到底有什麼區別,還有說說嵌入式具體要怎麼學。
  • 嵌入式工程師的真實現狀,有人月薪 8 千,有人年薪快 40 萬!
    看完這些前沿科技產品後可發現,這些形形色色的「高端產品」都離不開嵌入式技術,離不開傳感器技術,離不開軟體程序。根據我的經驗,世界上可以分成兩種嵌入式工程師,一種是大公司的嵌入式工程師,另一種是小公司的嵌入式工程師,我知道這樣分類很不妥,但並非毫無道理,請聽我一一下概述:大公司:大公司的特色是什麼?答案:人多!人多導致的後果是什麼?答案:項目分工非常細,都遵循「術業有專攻」這一哲學道理。
  • Linux就該這麼學 一名Linux運維工程師養成記
    因此,對於學習Linux而言,第一步就是記住Linux命令,知道其中的原理。但是,Linux命令非常多,難道都需要記住?這肯定是不現實的。所以,我們要先知道哪些Linux命令是必須要記住的,哪些Linux命令是只要了解一下就可以的,哪些Linux命令是無關緊要的,要學會拈輕掇重。那麼具體需要掌握哪些知識呢?
  • 一名合格的PHP工程師必備知識結構
    「不想當將軍的士兵不是好士兵,不想做大牛的程式設計師也不是好程式設計師,在成為大牛之前,先樹立一個小目標:成為一個合格的程式設計師,一個合格的php程式設計師應該必備哪些知識結構呢
  • 嵌入式工程師有前途嗎,該怎麼規劃機就業之路?
    嵌入式一直冠以高門檻的名號,相較於軟體開發遜色的起步薪資也被網友調侃「餓肚子」。熱情投入嵌入式的人比比皆是,無可奈何轉入產品經理或技術型銷售的也比肩繼踵。嵌入式工程師有前途嗎?的確,由於嵌入式代碼量相對純軟導致起步工資低,但行業大牛的工資也非常可觀。
  • 如何做一名合格的共產黨員
    讓我們進一步強化理想信念教育,用科學理論武裝頭腦,不斷培植精神家園,做一名合格的共產黨員在當前全黨上下正轟轟烈烈開展學習實踐科學發展觀活動接近尾聲之際,作為一名基層普通共產黨員,自己在深感到活動熱潮熱浪襲人之時,更深感到一個新的時代課題必須面對和思考,那就是如何始終如一、堅持不懈地認真實踐科學發展觀,努力做黨組織放心,職工群眾滿意的合格共產黨員
  • 華為網絡工程師認證課程HCNA實驗指南:路由器常用命令
    、建設和運維期間,需要熟知華為網絡設備的配置命令、調試命令。計算機網絡在建設完畢後,交付給使用方後,計算機網管理員也需要掌握華為網絡設備的常用命令,以便於進行後期的計算機網絡運維。在華為網絡設備中有一些基礎的且常用的命令,比如更改華為路由器名稱、查看華為路由器的版本信息、了解華為路由器的運行時間等等。
  • 學嵌入式開發難嗎_學好嵌入式開發需要多久
    嵌入式的前景   一般做嵌入式系統的公司,都有自己的產品,而且所開發的產品都是通用的。另一方面從事嵌入式的每個人工作的範圍相對狹窄,所涉及的專業技術範圍就是幾樣,等時間長了這些知識越做越有經驗,非常有成就感,等到了一定的年齡,買賣老本,幾句知道會讓那些剛進公司的出道者佩服的五體投地,還有如果自己是在在這個行業摸透了,也可以自己創業。近年來隨著智慧型手機、平板電腦、以及寬帶路由器、終端適配的發展,對這方面的人才需求還是客觀的。
  • 網絡工程師必備的一些常用網絡命令
    但是,這些命令的成功並不表示你所有的網絡配置都沒有問題,例如,某些子網掩碼錯誤就可能無法用這些方法檢測到。3、ping命令的常用參數選項ping IP -t:連續對IP位址執行ping命令,直到被用戶以Ctrl C中斷。
  • 網絡工程師人手必備的常用網絡命令合集,吐血整理!
    在計算機網絡中經常要對網絡進行管理,測試,這時就要用到網絡命令。今天就為大家整理了一些網絡工程師必備的一些常用網絡命令合集,建議收藏後觀看哦!
  • 做一名女性控制工程師,是一種怎樣的體驗?
    特別是在工業自動化領域,男女比例嚴重不協調,女性工程師更是「彌足珍貴」,而她們的工作和生活也成為了外界關注的焦點。那麼,在這個性別比例嚴重失調的領域,做一名女性工程師究竟是怎樣的一種體驗呢?美女工程師來了哦!雖然技術和工程在不斷的發展進步,但性別均衡仍然是在該領域工作的人所需解決的問題。縱觀歷史,工程行業歷來低估女性勞動力。
  • 嵌入式工程師去大公司還是小公司?軟體和硬體誰更重要?
    調用調用open read ioctrl 然後寫點進程線程和網絡,做個項目。扎紮實實的,基礎牢牢固固的,對於我們招聘初級工程師來說,是最喜歡不過的了。而對於嵌入式工程師來說,尤其是驅動開發工程師,等你工作後,你會發現,跟應用開發相比,真正要寫的代碼量很少,往往只需要改幾行代碼。但是往往這幾行的代碼量,需要你深厚的背景知識:硬體知識、通信協議、對晶片、開發平臺資源掌握、對Linux內核架構、設備模型、驅動框架的理解,這些才是嵌入式工程師的核心競爭力。
  • 嵌入式系統的面面觀
    大家可能會沉默或者回答沒有問題,這時你千萬不要以為大家都聽懂了,更大的可能是:他不知道什麼是真正的聽懂以及為什麼要聽你說這麼一大段話,他沒有一個期望值;不知道自己聽懂了什麼,沒聽懂什麼,處在游離狀態找不到自己的現狀…因此,不是他完全聽懂了,沒有問題,而是不知道自己有沒有聽懂,不知道什麼算是完全聽懂,因而找不到這個落差在哪裡,沒有發現落差也就沒有發現問題,所以就沉默或者回答:沒有問題。
  • 7大嵌入式開發技巧,你知道嗎?
    發生這種情況後的系統行為將是不確定的,因為默認情況下內存空間都是0xFF,或者由於內存區通常沒有寫過,其中的值可能只有上帝才知道。  不過有相當完備的linker或IDE技巧可以用來幫助識別這樣的事件並從中恢復系統。技巧就是使用FILL命令對未用ROM填充已知的位模式。
  • Linux運維工程師入門必須掌握的7個關鍵知識及必讀書目
    隨著網際網路技術的發展,Linux運維工程師的需求量也在大增。Linux作為一個全能的作業系統,想徹底搞明白作業系統的方方面面是不太可能的事情,短時間內更是不太現實的。本文針對Linux運維工程師總結了前期必須掌握的內容,大家可以有針對性的學習和練習,爭取早日成為一名優秀的運維工程師。
  • 運維工程師:網絡排錯
    因為這裡所講的網絡排錯並不僅僅是停留在某一個小小命令的使用上,而是一套系統的方法,如果沒有這些條件,我真的不能保證下面講的這些你可以聽得懂,並且能運用到實際當中,所以還是先看看這些基礎的條件吧。1.熟悉OSI七層模型與TCP/IP協議棧這應該是網絡排錯要知道的最基本的知識了。
  • 嵌入式的坑在哪方面?
    好了,會看電路圖了,總要做出來給老闆看的吧?於是必須會焊接。做嵌入式硬體的絕對離不開主控晶片,不然還叫什麼嵌入式工程師啊?所以該晶片的最小系統是要會焊接出來的。我們這些客戶(用戶、工程師、二次開發者)稱這硬體公司為原廠(官方),代碼稱為原廠的代碼(或者官方的代碼)。賣晶片的公司,叫晶片供應商。我想說的是,還有公司是拿原廠的晶片做最小系統模塊,再賣給我們這些二次開發者(三次開發者)用……像這些賣方案賣晶片的公司,嵌入式硬體工程師最多了!